There are a couple things I can offer, passed on to me by the wonderful casters I have known or things I've cooked up myself.
1) push your thumb in the direction you want the line to go. keep it on top, not to the left or right - but right up on top of the hand as you finish the cast. This also helps control tailing loops.
2) practice keeping the hand in plane by standing next to the wall and rotating the arm like a windmill an inch or two off the wall a few times, then make casting motions where your knuckles are but an inch or two away and equidistant the whole time, keeping your thumb on top so you can point it at the target in the end.
3) throw a fly line without a rod for a while. Nothing makes you straighten your stroke like a 10-15ft length of flyline cast with your bare hand. For a real eye-opener, add a haul on the backcast, and forward cast if you can. The backcast haul is easy, but my point is check out the impact that move has on the line speed.
4) Look at your hand when you finish the cast. Do you see your fingernails? You shouldn't unless you turned your hand in a palm up vector during the cast.
5) Cast a short line, about 25-30 ft, perfectly straight using the absolute minimum energy possible that will still carry the loop. Then add line, keeping things perfectly straight as you add only the minimum energy. Then put the whole head out there, and keep things going perfectly straight. Finally, drift back a little and accelerate a little quicker on the forward stroke, hitting it mostly at the end. That should reach about as far as you could ever reach with more effort and less straight-line efficiency. Try to throw the other half of the loop - the half past the wedge and attached to the fly - like a javelin through the air, straight fast and true.
Hope these help.