Translate/Scale/Rotate along single axis using MMB jumps around erratically
MMB is a shortcut to pushing X,Y,Z, don't hold any X,Y,Z key at the same time, just use MMB until the constraint is active, then let go of MMB. This should keep the movement constrained to the axis your mouse move along.