I can't offer any words of wisdom, but sympathy and a hug as my DS (nearly 15) is very similar. Life is one long battle with him and I've got to the point where XH and I both say "this one's a write off, let's concentrate on the other two!" It's only partly a joke, I think we've realised that we can't change him or his attitude, but we can change the way we deal with it.
My DP is very supportive, his DDs are both younger and so he has all this to come! As such he is able to see things from an outside perspective, without the years of back-story that have exhausted me and XH.
One thing that has helped recently is to routinely try and start again from scratch, i.e. decide to forget 'you always...' and 'you never...' and 'based on past experience' and start from today.
For example yesterday he asked for money for clothes, my immediate reaction was "no, you had money for clothes a few weeks ago and you wasted it on unnecessary items". We had a row about it, he promised only to buy things he needed and to be more sensible etc and he ended up getting the money.
I could have saved us both some aggravation by saying "yes, provided you only spend it on t-shirts and don't spend more than £10 on each one" or something. Forget what happened last time and just specify what needs to happen this time. Otherwise he just gets defensive and we end up at loggerheads.
Similarly with giving lifts. Because I'm fed up with his attitude, when he asks for a lift I automatically say no and make him plead and beg until I get fed up with it and say yes, making him think I'm a bitch. If I just say yes (providing I'm free) then it's one less thing to argue about, he sees that I'm a nice person and when I ask him to help me hang up some washing etc he's slightly more cooperative.