Yep. Riding multiple transitions and changes of rein will help. If he wants to take off, rather than pulling long and slow on his mouth, MAKE him halt. Stand for a moment, and then go back to your work again. Hauling on a horse's mouth does nothing but make them lean more against you. Make it quick and sharp if you do need to correct for running against your hand, and then take the pressure off and ride quietly again.
It is a matter of patience with these training issues. We all want it to happen 'now', get his head down now, make him collected now. It just doesn't happen that way. Be patient, ride forward with quiet, still hands, and his head will eventually come back down to a better level, where he will also start to seek the contact and come onto the bit -correctly - rather than being pulled there. It might take weeks of riding 5-6 days/week in this manner, but it WILL happen.
If he is throwing his head to a dangerous level, you can try putting a market harborough on him for a few rides to give him the idea that his head doesn't need to be up in the air - simply to make it safer for you. Possibly this behaviour is stemming from him not being able to rely on the contact you are providing for him. If he's being constantly bumped in the mouth and see-sawed, the usual reaction is to either suck right behind the vertical, or throw the head in the air.