The following are some solutions to the problem:
- create some sort of passport registration to mine and eventually impose limits (not the ideal solution)
- Token mining - Example -> X amount of tokens are generated every 12 hours. Every token has a max hash limit of 4320000 hashes (100hashes/second For 12 hours). Once this token is used (limit reached), it can no longer be used. These tokens are distributed randomly among interested miners. There might be times when you don't receive a token, but when you do you can't exceed the limits. This technique will create a balanced network.
--Edit
Tokens can be distributed per block