Sounds pretty basic, but if you're whiffing and/or topping the ball a third of the time, try this at a range. Swing and never take your eye off the spot the ball was teed/resting. Don't even worry about where the ball goes. Stare at the spot the ball is getting hit from even after you hit. You'll know if you hit the ball flush by the feel. And I bet after 10-20 times of doing this, you'll not top the ball very often.