I recently discovered a generalization of this approach, which allows mapping a single hash to multiple independent numbers, each in their own range, while maintaining various uniformity properties.
A write-up is here, in case anyone is interested: https://github.com/sipa/writeups/tree/main/uniform-range-ext...