Really sorry you are going through this.
We have experienced similar issues ourselves. Son struggling at school, got in with wrong crowd, weed, trouble with police, violence and aggression at home.
A year ago I questioned whether he would still be living with us. would have happily kicked him out. I'm glad we didn't. He has ASD which does influence his behaviour.
We had him arrested, during one particularly nasty incident. we'd had enough and his behavior was traumatising our 11 year old daughter (while physically safe, emotionally the toll was awful). Police were excellent-took him away over night as he was out of control. When he came home we told him next time we would press charges and we meant it.
Since then things have improved, due to other changes we have made at home. There were underlying issues driving his behavior which we understand more clearly now and offered him support.
Youth offending team (who have also been excellent) are working with him and he is engaged and doing what he needs to do, as part of his caution.
9/10 he is in on time or early now and if running late will ring to let us know. a year ago he would be out until midnight or 1am with us having no idea where he was.
Another key change was he stopped mixing with the wrong crowd-his choice-but he learned the hard way that they were bad news. We also relaxed some expectations, but held firm on others. EG no smoking at all in the house, in by certain time and contact us when running late, but bedtime was up to him (as long as he doesn't disturb us). We did this because we were arguing over bed time and i just didn;t have the energy to deal with something so trivial compared to everything else we were managing, and was close to a nervous breakdown. . nothing to argue about now. the other thing I would say is that he was definitely testing us to see how far he could push-he had low self esteem and was trying to push us away. He's doing GCSE maths and applying for college. things are by no means perfect but so much better than they were