Practice, practice, practice. Time and practice will make perfect. Also keep your heels down and eyes up and DO NOT grip with your knees. Tighten your core muscles to help absorb the motion but keep your seat/hips loose and moving with your horse. You can practice half-seat as well; to do that simply lean forwards slightly and lift your seat so that it only gently touches the saddle with every stride.
Overall, though, it just takes a whole lot of time, practice, and patience.
Sitting the TROT without stirrups is the very best way to train your canter seat. You cannot get a deep heel until you get a deep seat bc you will be pushing your body away from the horse until you are too tired, and THEN you'll feel your seat deepen. That is the time to pick up your stirrups. It takes a lot of time and work, btw.
Also, there are some horses with very big canters that are difficult to sit. I had a 15'2hh QH like this, so it isn't just the big horses. Can you sit the canter on another horse? IF so, perhaps you could pratice on that horse and go back to yours.
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.