I have a horse I bought which only cantered on the left lead. I spent a year faffing around trying to improve her with no success really. I could get her to change over a jump but otherwise hardly ever would she strike off on the right.
My main horse was lame and I took her as a sub to my SJ lesson. One session was all it took to get her striking off on the right. To do this he had me bend her to the outside, keep my inside hip forwards and whip in the outside hand and tap when I asked. Worked like a charm and I gradually asked for less outside bend until she was able to strike off normally. This allows their shoulder to come forward. Now, she can strike off correctly in a straight line on which ever lead I ask for, and my daughter (who I have been bringing her on for) has started to take over the ride and much to my delight is managing to get correct leads despite only being 7 with fairly little legs on a fat 13.1 body (the fat body is on a diet!).