Why not to mine more efficient?
force each miner node to 'compute' (or 'pick') his own range of nonces?


You don't need to force them. They will obviously do so on their own - doing anything else would be ridiculous, as the fastest miner would always win if they all try to run the same race.

In practice this is automatic, as every miner pays out to himself. As their payout addresses are different, their coinbase transactions will be different, which means their transaction hashes will be different, which means their Merkle tree will be different, which means their Merkle root hashes will be different, and as a result block header will be different too. In fact, it's impossible for them to be working on the same block template without forgetting to pay themselves!