Common problem with horses that haven't had much riding done in the outside world (beyond the ring). A few thousand miles on a trail will help a lot. Also, try not to mess with her very much, just kinda keep her heading in the direction you want and let her zig and zag. Frustrating, I know but after she gets tired a few times, she will start to focus on a point ahead of her and go to that point and not worry about what is behind her so much.
Ride with more precision. Pick a spot 30 feet in front of you and ride toward it. Just before you get there pick another spot and ride there. Your horse will feel the difference and start traveling straighter.