T.F.
My own oldest is only 9, so understand that I am not speaking from personal experience, but as a teacher and from books I've read and child development classes I've taken...
First, know it's not too late at all!
Second, you are actually at a good stage in his life because he can totally understand reasoning. If you suddenly start deciding he needs to do things, "Because I said so," then you will (and should!) get resistance from him.
Start with the big picture and sit him down-- let him know that you and he are going to have a family meeting, and take him out to dinner somewhere where you can sit and talk and he can't storm off to his room. Let him know that you are having this meeting because you care about him and his future. Don't go on and on, but say something along the lines of letting him know that you aren't doing him any favors by letting him have a free for all because life isn't like that-- the world is full of rules and guidelines, even for adults, and when he becomes an adult you want to make sure he will be able to function on his own, and though he may not fully understand it, the idea of giving him boundaries to work with now will help him for the rest of his life. My 9 year old gets that, so I think with an open mind your 12 year old will get it, too-- even though he won't be happy, he will understand and one day appreciate it... Then...
Take everything one step at a time and tackle each battle seperately. Start with the one that is the biggest thorn in your side, which I assume is bedtime because it's the one you brought up. Decide before you meet with him why a 9:30 bedtime makes sense to you, and decide what you are willing to live with. You should NOT be wiling to live with him decideing on his own whenever he wants to go to bed, for example, but you may be willing to do what we do in my house, which is I set the bedtime and my kids have to be in their rooms at that time, but they can read for as long as they want until they are tired enough-- which ends up being sometimes 5 minutes and sometimes an hour, but either one is fine with me because either way I have already tucked them in and I get kid-free time for the rest of the evening! If your reason for sending him to bed early is because he is difficult to wake up in the morning, you can say, "OK, let's negotiate. You can have a 10:00 bedtime, but any morning that you are grumpy you have to go to bed that evening at 9:30-- deal?" Let him know that the negotiating is because you think he is responsible enough to HELP with the decision making, but be clear that you are ultimately the boss in the house.
Before you wrap up your meeting, be sure to address the running away threat. It is best to discuss it while he is in a good mood- if you try this conversation while he's upset it will fall on deaf ears. Be sure to let him know that it's no more OK for him to threaten running away than it would be for you to tell him you're running away from him! You 2 are a team and have been for years-- he does need to get it that you are the senior partner in the team, but that you need eachother right now. Get him to understand that A) you need his help and his love, and B) he needs your love (he'll deny it of course, but in his most quiet moments, he knows it's true) and he needs your financial support. I don't know your son and your situation... so I'm not saying this is right for everyone, but if you think it won't backfire, you can try some reverse psycology by having a conversation about where he would go. Remember you are doing this while he is happy, not in the middle of an arguement when he is threatening to leave! He may think he can just go and live with a friend because at his age he isn't considering that his friend's parents aren't usually willing to take him in for a long period of time just because he no longer feels like living with you. If he does say, "I can go live with Mark" then ask about Marks' house. Where would he sleep? Do Mark's parents have any rules they would expect him to live by, like a set bedtime? Is there anywhere in Mark's house where he could have his own space/privacy when he needs it? Can Mark's parents afford to feed him? Would Mark's parents be willing to take on the parental responsibilities that you do like _____ (fill in the blank with tons of things you do that he takes for granted)...
And if/when things start getting out of control (remember it could get much worse before it gets better), you need to have clear consequences set up and enforced consistantly. One excellent tip I read once was "electronic" privilages. They are not a right but a reward. There are tons of electronic things kids have these days beyond just the TV we had when I was a kid! Computer, TV, phone, iPod, stereo... anything that requires a plug or batteries can be taken away and earned back. Be sure when he threatens to run away to remind him he won't have any of those things where ever he runs to! They have no TV or computers if he thinks he can live on the street, and one phone call to Mark's house and his parents will take away his electronic privilages there, too!!
Good luck and keep us posted! I hope I helped!