Ya but the OP said sometimes its a topped shot. Meaning the ball is too far forward in his stance.
Move the ball back some, play the ball with different ball positions and see what happens. Also, don't overswing. Try to shorten your swing. I get out of control sometimes with the driver, and its because the club is past parallel. I try to shorten the swing, and amazingly I get better ball contact.
Ball forward in your stance plus an AGGRESSIVE weight shift should eliminate the tops. My guess, and it is just a guess, is that the OP isn't getting his weight forward enough and/or fast enough. Moving the ball back is often just a "cheat" to hide a bad weight shift. Setting-up with a lot of preset axis tilt (hips pushed forward at address) has helped me quite a bit with this. I play the ball pretty far forward now.