Problem: Front foot drive, half step being taken only; Solution: bigger step, knee bent needed; Drills 1. - try batting cone/ tee. Place the cricket ball on the cone at a good driving length from your stance. Take your stance, look up, like a bowler is coming in, then take your step such that the lead foot points in the direction of the intended front foot drive, with mid foot coming to rest next to (and inside the line of) the cone/ tee (with ball sat on it) and strike thru keeping head down, front knee bent, and avoiding too much bottom hand (which can cause you to square up afterwards). To prevent excess bottom hand you can (a) take an index and thumb grip only with the bottom hand, (b) practice one handed with the top hand only, (c.) practice with ball on a rope hanging from the open garage door and practice striking it one handed with a high elbow and straight bat, or (d) use a slightly higher back lift to negate the need to generate extra force from the bottom hand, i.e. let gravity help out; Drill no. 2 - have throw downs whilst starting from a stance standing on your back leg only - the front foot need only be a centimetre or two above the ground but make sure your assistant pitches the thrown downs in front of you at a driving range - the goal will be to wait until just before it has pitched, then and only then put your foot (and weight) forward to meet it on the half volley. The aim of the latter is to stop the premeditated/ instinctual half step forward which may occur too early and leave you stranded at the wrong length. In addition to this, I have found regular hamstring stretches, and practising lunges +/- weights beneficial to getting the knee bent and playing the ball next to the leg and under the head, rather than leaning and playing in front of the pads.
Perhaps somebody else has a good idea for drills you can do on your own for the back foot drives, but i have needed someone to throw down for me on these. Perhaps a variation on the ball-on-a-rope theme?