If you ask most players why they top the ball they will answer "Because my head is coming up". I will agree that lifting the head as well as the body can cause the ball to be topped, but this is not the majority cause. In fact I could hold the head of many poor players rock steady and they would still manage to top the ball. This is because the problem is not with their head moving, but rather because of their swing path.
To make solid contact with the ball the clubhead must be square and move through the impact area on a fairly shallow arc. Remember that because we stand to the side of ball the clubhead moves from inside the target line to straight along it then to the inside again. If however the clubhead moves from outside the target line across the ball the swing arc becomes much steeper. That is why chronic slicers generally have problems topping the ball. The more the club swings from out to in across the target line the steeper the angle of attack eventually to the point where the club can only contact the top half of the ball.
Therefore to stop topping the ball the player must correct his steep outside-to-in swing path. This is done by correcting his address and ball positon so that he can deliver the club to the back of the ball from behind and inside it, rather than from across and on top of it
The second cause that often affects better players as well poor players stems from the deliberate attempt to delay the uncocking of the wrists in the downswing. To correct this simply swing the clubhead down and through the ball freely thus creating the same radius of the left arm and club at impact that was established at address.