The reason I think I can offer some advice there is that I, too, struggle with having a good canter. Here's what helps me:
Really focus on the "down" beat of the canter. you know the canter has three "beats" to it, and the last one is when the leading leg strikes the ground, and the hrose feels more like he's going downhill at that point, and there's a greater feeling of the weight going downward.
Canter around and start counting "1, 2, 3 . . . 1, 2, 3. " with the "3" being the down beat. YOu will want to really think about having YOUR body going "down" with the hrose on that beat. your legs sink "down" into the stirrups, and your pelvis front goes down with the saddle (while your upper body stays as vertical as a tree is on a downhill slope). The horse will carry you up again for the next stride, but if you really focus on going down WITH the hrose when it goes down, you will better be able to stay in contact with the saddle and not have any "air" between your butt and the saddle.
Hope this mental imagery helps.