Sounds just like how jasper used to be. I know retrianing is difficult! I've been there! I have wanted to give up so many times. I think the best thing you can do is start over completley. Pretend he knows nothing at all. That's what I did. For what he does...(please note this is what I did, and it worked for me, it may not work for everyone)
Botling- He wants to run, make him run. When jasper bolted with me, I just galloped him around until he was tired, when he was tired, I still made him go. It took all of one time for him to get it.
Bucking- you really can't stop that. When he does it, try turning him in tight circles.
Rearing- A big no no!! Does he do it offten? Or once and a while? Jasper does it once and a while and when he does, I relax and hang on to his neck. If he would fall backwards, I can swing off him using his neck. I really have no advice for stopping rearing(sorry)
Dropping sholder- I take it he drops it when he's turning? When he does take your inside hand and raise it up towarsds the ceiling. This should help some.
Rolling- Usualy you can feel a horse the as about to go down. When you see him pawing or feel him tensing up to go down, raise your reins and kick. Or turn him. That worked for me,
Sorry to anyone who disagrees with what I said. This is my training mehods and they have worked for me.
Thanks for reading =]