Normalizing height data

A task i’m working on atm requires that one of the inputs to a CNN will be a height map. That is - a matrix of float in which each point is the height ot that point above sea level. I’m having trouble deciding how to normalize this data. I know there are networks that work on depth or distance data but that is different for several reasons:
Height can also be negative (as opposed to depth/distance which starts at 0)
Height has a very large range - can get values between -400 and +~9000.

For these reasons, simply subtracting the mean and dividing by the std will result in the loss of information in most cases (all values will be close to zero).

I thought of maybe subtracting the local mean for each input, rather then a general mean calculated from all the data, but i still dont know what to do with the std, since dividing by the local std can couse that very “flat” and very “steep” inputs will look the same after normalization.

Sorry for the long description… any thoughts/suggestion will be very much appreciated.