Fix preprocessing.scale for arrays with near zero ratio variance/max

Fix #3722, prolongating #3725.
computing twice `abs(X).max()` should be avoided.