Well ballscrews work both ways because of their efficiency.. so the inertia of the head is driving the motor and overcoming the motor torque. Its not the weight per se (although obviously the inertia is related to the mass of the head) but the overall inertia of the system - head, ballscrew and motor rotor that is the problem.

As a first indication what happens if you program some G-code to move the head down... stop for a while then move it up again... as opposed to changing direction on the fly... does it actually stop on cue, or overrun... if the latter there may be a solution in increasing the deceleration time or reducing the z-speed... which might suggest gearing the motor to the ballscrew to reduce the reflected inertia on the motor...