Unfortunately this is not so simple.
Basically my suggestion was simply to force self-voting whales into risking their investments (i.e. needing to manage their funds across thousands of addresses via bots)
For a programmer this is very easy to solve. They can just create a special wallet which stores all the private keys for all accounts and vote with it like they would vote with normal wallet and one account. The wallet does all the work, no bots needed.
the effort needed to to ensure those self-votes appear sufficiently diversified different regions of the world
It's very hard to find out where people actually are. If whales want, they can easily spoof their true location.
You might want to think about this from another perspective: Are whales really so bad, and would it help if they were replaced with smaller account holders?
The answer isn't so obvious. If you reduce the power of people who have most skin in the game (they own most of the value), you might end up with voters who care less about the long term success. The more you have invested, the more you care about your investment. On average those people will make the best voting decisions who have the most to lose. Not all of them are good decisions, but most of the time the result is tolerable. It's OK because decentralized networks are really inefficient in decision making. It's not easy to improve unless there is more centralization.
Smaller token holders generally know less about the platform, how it's supposed to work, and how to make it better for long-term success. If you give these people more power, the result is probably worse than we see now when whales are in power.
RE: Proposals towards fighting back against self-voting whales on EOS