Normalisation method, that does not shift the distribution and is therefore good for sparse data.

Math

normalizedData=data/max(|data|)

Obviously sensitive to outliers.

Implementation

from sklearn.preprocessing import MaxAbsScaler

scaler = MaxAbsScaler()
X_train_scaled = scaler.fit_transform(X_train)

# To avoid bleeding from test set:
X_non_train_scaled = scaler.transform(X_non_train)