It seems to me that the first thing he needs is a sense of boundaries
We humans only indulge in behaviour that brings reward of some kind. Only when that reward (whatever it might be) disappears, or the consequences of our behaviour promise to be unpleasant do we consider changing what we do.
Here is the clue to sorting things out. When you are faced with non-co-operation – give him choices, and make sure he understands the consequences of his choice – and always follow through
Your son needs to be confronted with unacceptability of his behavior, and made to understand while you care for him, his behaviour is unacceptable and has to change.
He also needs to understand that any continuation of his offensive behavior unpleasant consequences. They need to be spelled out to him very clearly, with clear emphasis on the fact that they will apply immediately.
Even at his age, he needs some boundaries - he should be made to undertand that rides to school, money for social life and so on are rewards that have to be earned - in his case by reasonable behavior. They are not automatic rights.
Never get angry, stay cool and in control, matter of fact and stick to the facts. Avoid drama.
Part of the problem is of course, that you need to decide just how hard a line you are going to take on this. If you do nothing, he has no reason to change, and will not. If you take very hard line, there is a very good chance that you will alienate him completely.
Finding a compromise between those extremes would be best, XXXXX XXXXX since only you, as his parents know him, his history, and your situation intimately, you are the only ones who can decide where to draw the line.
Secdondly, I’m going to suggest that you get a copy of the book “How to talk so teens will listen, and how to listen so teens will talk”. Its ISBN is 13: 978 1 85340 857 1
Not only will it help you turn things around round it is also a good read!
He may well need some medical help to deal with his apparent social phobia, and you should consider having him see his doctor.