Bloody hell. This is another supportive thread! Haven't read the whole thing. There's only so many shitty comments I'm willing to read.
The OP is clearly trying, regardless of whatever happened in the past. Some of the comments here help absolutely nobody. The only effect they could possibly have (other than smug self-satisfaction) is to make OP feel even worse. So what's the point?
OP, I've taught in referral units and special schools before, so I can imagine the kind of behaviour you're dealing with. Most kids in PRUs have had difficulties throughout their childhood and many have emotional problems. By the time they get to be 15, it is extremely difficult to turn the tide. But not impossible.
Apologies if any of the following is already obvious to you, but it is based on my experience of working with kids like your son. The reality is that setting boundaries would still work really well, if you're able to enforce them which is so tough at 15 when they can be violent, destructive and strong. I can understand why you're trying to enlist help. It's the right thing to do. As soon as you try to enforce boundaries, there is hell to pay, especially if he has a history of getting away with certain behaviours. But if you are able to enforce them (typically requires someone physically stronger than him to be around, but someone who will absolutely remain calm and non-violent no matter what) then it's just a matter of sticking it out and not backing down. Eventually, most kids will improve in temperament dramatically and quickly as soon as they realise they won't get their own way. It's actually comforting to them even if it seems outrageous to them at first. Persistence and consistency is absolutely key.
Even at 15, most kids need to feel someone else is in control. They need structure and don't feel safe or even cared about if nobody is in charge. It seems counter-intuitive but all kids challenge their parents. It's the ones who win often that are unhappy. That's what I've found anyway. But with a violent kid, you need someone capable of restraining him because he's likely to exhaust all potential ways to resist before giving in.
Also, be careful how you talk to him. Forgive me if you've heard this all before. Try not to get angry. Try not to insult him. When discussing something he's done wrong, remain calm no matter what he says, keep your focus on him, and describe the behaviour rather than describing the kid (e.g. never say "you're selfish", instead talk about how X was a selfish thing to do). Kids really do become/remain what they're repeatedly told they are. That's why high expectations are so important. Try to heap praise on him every time he does something remotely good. He may even act like he doesn't like it, but it will make a difference deep down. He needs to know you see him, and not only when he's being a little sh*t.
Good luck OP