I think you are doing several things wrong. First and foremost, do not change going across the arena. It is difficult enough to not have horses anticipate,when you have to change there in the shows, but you should not change there while training.
I always go straight across the arena, change directions of my circle and go into the new circle on a counter canter. I do not let the horse change in the middle and may or may not ask for a change out of the counter canter going around on a big circle. If he acts like he wants to anticipate a change, then I will not change leads but change directions again across the center and make another circle the opposite direction in the correct lead.
Horses usually speed up through changes because they have been 'over-cued'. When you dig in a heel or spur to get a change, you usually just get resistance and more speed. Then the horse either gets all disconnected or flops its front end over into the new lead but misses the lead behind.
You need more collection to deal with this. Getting more collection and keeping the horse's shoulders more elevated will work wonders. He may not stay in frame on a loose rein for a while, but changing with a contact is far better than having him speed up, drop a hind lead or having him get all disconnected and lose his collection.
If you can push this horse's hip over at the same time you take his head the same direction while keeping him collected, he will change and should change hind leg first. You have to be able to keep his head to the left, maintain body shape with your left leg and push his hip over to the left with your right leg when you want the change. You have to do this without letting him straighten out his head or move it to the right.
Your best places to change leads should be from a counter canter on a large circle or done on a straight line. Instead of changing on a straight line going across the arena, change on a straight line going from one end, right down the center to the other end. Or, change while on a diagonal going from corner to opposite corner.
You just do about anything to keep a horse from anticipating a direction change or a lead change. They just have to wait on their riders at all times.