My horse does that too. Make sure you're in a controlled and collected trot half halt when going into the canter and make sure you're not throwing yourself away
And just touch your legs on him/her
Make sure from the trot you're not changing your position, keep your hands up and don't squeeze if you don't need to! ;) Maybe just move your legs to the position where you ask for canter and j
Circles!! Have your horse focused on you and not about getting away. Keep his attention! Try doing a circle and then getting smaller and smaller and then bigger and bigger to keep his attention! If that doesn't work try having someone lunge you for a bit. Just stay patient, calm and talk to him!
Transitions in all gates. Trot-walk, walk- trot, medium trot- collected trot.
You could try different things like circling or halting and backing up. We have a horse at my barn who does this and we just have to halt and back up before going forward which tends to help. Also to keep them from speeding up while cantering, you can circle and/or do half halts. Hope this helps! xx