Clinton Anderson had a theory for horses who liked to run-not quite what your horse is doing, but could work the same way.
His advice-which I have used, and found it works-was if a horse wanted to run (whether it be on the trails, or the arena just to be a poop head) then he would let him run, but the thing was, he would make him run-even if decided he wanted to stop, he would push him-horses have a harder time bucking when they're constantly moving forward at a decent speed.
I have done this with a pony I leased-he would get stupid on the trails and wanna jog, and run, and spook, and sidestep until he got his way. I just made sure he was at a full walk whether he was still being pushy, then made him run-im not talking flat out gallop-just a nice canter that will make him happy. But he didn't like it when I kept him going once I felt him getting tired. (i also didn't make him run alot, just enough to let him know I was boss) a few sessions that way, he was perfect, he would walk and trot perfectly on the trails, and it made it all the more fun when we did canter-cause it was what we BOTH wanted to do.