So, what works varies depending upon the horse. This is going to be long so I’ll try to make paragraphs work (sometimes they get eaten when I post!)
Rider responsibilities:
You must ensure you are not blocking the horse’s movement in any way. This means not etrying to set the horse’s head with your hands, not being tight in your hips, not tightening up when the horse does go out of fear - if that happens, get someone else to instill forward and ride a horse preferably of equal power who is in front of the leg so you can learn the feeling without confusing your horse. You’re human, we’re all imperfect - it’s easier to learn on a good example!
Do LESS. Touch (the leg), tap (the whip), THWACK. It’s been mentioned a few times here - ensure you remove the aid as quickly as you use the aid. Holding has never helped me get forward, and while sometimes a lifting squeeze to get abdominals engaged happens, I can ONLY do that on a horse who is already in front of the leg.
Understand the difference between off balance running and forward in front of your leg. If you don’t get it yet, ensure you have very educated eyes on the ground to help you learn the difference.
Once you get the horse in front of your leg, be diligent. Every step from the mounting block on must be in front of your leg.
For the straightforward horse:
What I wrote in rider responsibilities is about all you need. My mom’s mare was purchased to be her last horse to ride - so we bought a horse whose preferred gait is halt. She’s also a very straightforward ride. She’d had no training besides walk/trot on trails, and we suspect some draw rein riding in a ring. It took three rides with consistency for her to always be in front of the leg, because it simply wasn’t worth the effort to fight over it from her perspective. She knew she would have to be, so it was easier to simply do it.
For the tight/tense/explosive type:
Keeping the horse in front of your leg is going to be a survival tool. Take it very seriously!
The lateral work mention by Synthesis can be a great aid to this. You need to understand what muscles are tight on your horse and help to loosen them - plus the horse can’t as easily bend and explode at the same time. This is the horse for whom up and open is probably most required. You do NOT want the explosive horse even considering coming behind the bit, or putting its head between its knees. You need this horse to see an easy path to move forward, and that this is the acceptable method of using that explosive energy. Not a horse for the faint of heart, and most people would simply rather not have this type. Unfortunately, my explosive horse CAN be both in front of the leg and explosive (think of an advanced eventer galloping jumps - they can move and jump at the same time, and he’s schooled advanced. His explosions are a similar height.) Really working on loosening tight muscles so these horses feel able to move is the biggest favor you can do yourself and the horse. You can create an explosive horse by holding in a horse who is too powerful for your comfort level once you get it in front of your leg - so if you feel uncomfortable, get some longe lessons, ask someone else to ride the horse some, just do yourself a favor and don’t create this.
For the sensitive/bubbly high energy type:
This is my older mare. Her brain FLIES. She’s one who can rarely be left in cross ties without a human there for comfort, as her brain goes so fast she talks herself into believing there are monsters without part of her herd there. She also loves the more complicated our work gets, the more movements stacked on top of movements, because it gives her brain somewhere to focus. Most type A dressage riders should relate, as most of us look for our moments of zen and moments to get our brains quiet and enjoying things.
This is the type of horse who will rush off balance. Speed is the enemy of impulsion (and balance.) This is the horse who has to learn to slow in order to be able to come in front of the leg. My mare is tricky to learn about this on, because she goes from trying to race to brakes slammed. And she went through phases of absolutely jumping off the leg. She had to learn to accept the leg on her side (through leg yielding and lateral work), and had to slow and balance - but without pulling on her mouth and turning her into an explosive type. It took a lot of lower abdominal control and slowing rider body movements to convince her to slow her tempo - and even as she is developing reliable half steps and schooling pirouettes, I STILL have to convince her to use a slower tempo. Always letting her know she has an escape if she is threatened was required, so the times I’ve tightened up and held on too much we’ve had problems. You simply have to let them have freedom. With her, balance and feeling of her being in front of or behind my leg can come from a 1/2" change in the position of the top of my pelvis. I move it back for a step (not stride) so tail bone is tucked, and that’s enough to get her back in front of my leg. As we’re working on some things with my legs more solidly against her, diligence in ensuring she is in front of my legs is more important now than ever - because if she gets behind, I’m screwed. We’ve done the basics of “you move when told” mentioned above, which is why now I can fix it so simply.
For the big mover/slower metronome type:
My baby is more balanced, less forward in nature. At the walk, she’s far easier to get in front of the leg without suspension and effort getting in the way. She was lightly started last year, but now is about 6 weeks into getting into the job of being a dressage horse. At the walk, she’ll happily lean crookedly on your leg if you let her, so every ride a little more demand she get off one leg or the other takes place. It’s still all pretty much fun and lighthearted, because she’s just learning.
At the trot and canter, she has more bounce than go. I’ve never ridden such an uphill, balanced greenbean before. However, that suspension has some tension in it. VERY light leg yielding to keep her from leaning her ribs (or mouth) on me, gentle large bending lines to assist with that, and asking that she go slightly faster than her natural tempo are all teaching her about relaxing through her body. Because in her case balance is so predominant, a little forward before worrying about balance is appropriate - the opposite from my other mare. She is actually pretty straightforward, so while we don’t even get into the thwack part, the basics apply for her. Instead of going to the whip it’s touch with leg, tap with leg, then touch with whip - and so far the whip touch has happened about 4 times total because it just hasn’t been needed.