This makes good sense, and is clearly the base solution.
One further question: is it possible to normalize to a value other then unity over the specified range? Or is your option just to scale by multiplying by whatever your scale factor is after the fact?