Oh boy, do I know this scenario well.
Things I did;
1. Tried to ride it out of him not being too demanding when asked to canter.
2. Tried to ride it out of him by being more demanding.
3. Cantered in the round pen. Oh, he does this well every time :-(
4. Flank roped him. Worked for 5 or 6 nice easy canters and then blew me off. I have the video.
5. Changed saddles.
6. Changed blankets.
7. Changed snaffle bits.
8. Although the previous owners had him checked, I had his back checked by a vet again.
8. Sent him to a "professional" trainer. Come to find out the trainer only cantered him in a round pen or a small turn out. He likes to open pasture buck
The most two recent things I have done is this. PAY ATTENTION to his head. If he even looks like he wants to stick his head between his legs I pull his head up. I don't snatch it but if he gets it lower than I want I gently but firmly pull it up. One rein in each hand and watch that head. If he bucks and you manage to stay on, just as soon as you can make him spin circles hard, fast, and long.
The second thing I did was put a anti grazing device on him. It has three adjustable loops to fit over the horn. First one, he will hit the bit when his nose gets down to just below his chest. The second, he will hit the bit between his knees and chest. The third, he will hit the bit between his ankles and knees. I ride him with it but have kept it in the third position opting to rely on my catching him trying to stick his nose in the dirt. If he aggressively tries I WILL rip his mouth out but so far he has been doing much better. I even had a lady (excellent rider) work him at a canter yesterday after I had cantered him across a field a couple times. She cantered him in circles both directions working on lead changes.
If you are not comfortable with having nothing but reins in your hands when you try to canter him then hold one rein taught but don't pull on his mouth, grip a night latch with the other hand, then if he even makes you think he is going to buck pull that nose up to you. This requires you be really careful you don't wreck him and have him roll over. Be ready to bail if you pulled too hard and caused him to turn his head and then flip over on his body due to loss of balance.
When you try to get him to canter, try to do it with just calf pressure and voice command with no heels in him. He will be more comfortable initially this way. Work him from the ground with a boot or shoe. Use the heel to push it in his side gently at first and then harder. Watch for a cow kick. It is ok for him to move around you just keep his nose turned in towards you and follow him around reapplying pressure. You are trying to get him used to feeling pressure there in his ribs and not being scared by it. You want them to yield but not be scared of it. DO IT FROM BOTH SIDES.
Now, last but not least this is what I wanted to do but could not find a volunteer. Find a 20 YO bullet proof kid that is a "REAL COWBOY"
and put him up on him and tell him to walk-trot-canter-run over and over for about an hour straight or longer if the horse can take it.
I have one that never bucked until I decided he was not yielding to my heels. I put on spurs and lightly touched him and bucko! He wasn't serous but I had to keep using the spurs gently till he decided a snake was not biting him.
Sorry for such a long post but trust me I feel for you. Been there done that got the scars.