Are you cantering him on a circle, or straight lines?
Try working him on a 20m circle, leg yield in off your outside leg in trot down to an 8-10m circle, then leg yield back out. As you get to about 15-18m, ask for canter but continue to ask for leg yield. Only canter until you get back to a 20m circle, then back to trot and regain suppleness and rhythm before asking for canter again.
How about taking him out on a trail/wide flat field? Can you get off his back, go two point, keep your hands on his wither and just let him canter forwards until he finds his own feet.
It really does sound like he is just unbalanced, and putting more bit in his mouth isn't going to fix that. It might temporarily give you more leverage to pull him up, but it won't take long for him to go back to what he was. I would strongly advise to NOT go to a harsher bit at this stage. This is just a baby problem, if you start bitting up now, you'll run into harder problems later, and then where do you turn? Bit up again?
Stick with riding balancing exercises, not gripping onto him (if you're struggling to sit, you're going to be slamming into his back which will encourage him to run more. Try riding in two point for a while to save his back and yours) and simply letting him find his feet. Keep riding forward, never backwards. As soon as you start trying to pull backwards without putting leg on, you're going to throw him straight onto his front legs, which will encourage him to run on even more as he will be MORE unbalanced.