You need to learn to "see" your stride coming in order to control the jump and not endure it.
For that I can give you some exercices:
-Put two ground rail separated from 19 to 20.70m (5 strides depending on the lenght of your horse's one) and count them outloud. Once your succeed doing it, try to put one less (4 strides by pushing more your horse) or one more (6 by keeping him). This way you will see your stride coming and also reassure yourself by seeing that you are in control of the jump. When you're comfortable with it, do it with obstacles.
-Try to jump while closing your eyes, it will help you feel the movement of your horse and then in a competition, you will feel it easier to know when he starts to jump.
I hope I could help you with your question :)
If your horse makes unnecessary long spots, that means you’re not giving them a good enough distance to jump it from a normal spot. This just means you need to work on your eye and distances. Start with poles and work your way for bigger fences. Once you see the distances, even if they’re long, you’ll have a good canter to support it and it won’t be unintentional long spots and long spots you’ve planned so you can stay with your horse!