I don't know about swinging your hips in the saddle. Your job is essentially to mirror his movement. If you move against his motion, he'll probably just get more stubborn. The cool thing about school horses is that they do know more than you. He knows the correct cues for a canter. He's just making you work for it to do it properly. Every time he pops into that unbalanced canter, he's telling you "nope, not quite right. Try again". Get a good balanced trot going, then sit your butt in the saddle, open your shoulders and stay balanced over your hips, slide that outside leg back a hair, squeeze with the inside one while releasing the inside rein just a tad, and off he'll go. If you do a balanced depart, you get a balanced canter. That's what he's trying to teach you.
You just have to see your distance...you don't have to like it.