There are legitimate reasons for corporations to support region-locking. And of course, these reasons hardly line up with consumers' interests. Is there a middle ground? I can think of two ideas that are not perfect, but are still better than the current region-locking system.
1. Console manufacturers allow region-locking from publishers but do not require it. However, any region-locked game can be played on any region's console after x months / years have passed since the game's release.
2. In addition to the above, allow a consumer to pay a deposit (somewhere between $10 and $50) to access the game early on their console. If the game is not released in the user's country within x months / years, the fee is reimbursed to the consumer (maybe even with some kind of free DLC as a consolation). If the game is released, that's given to the local publisher as reimbursement for "stealing" their sale. Even better if the publisher provides a patch or whatever to these customers that optionally converts the game to the local version.
An example implementation of this system:
Sony recommends that there be no region-locking, but leaves it up to publishers. After 18 months have passed, the game can be played on any PS4.*
Plus, users can pay a $30 deposit to access the region-locked game early. After 6 months, they get $10 back in their account. 6 months after that, another $10 is given. Then after 18 months the game is region-free and the consumer has all of their money back.
*This can be enforced in two ways. Require an Internet connection while playing or encode the disc with the date of release. Then bake functionality for date-checking into firmware updates. Firmware 6.01 allows any games encoded with dates of "May 31, 2014" or earlier to be played, even offline.