Most problems come from pools and fake hashes where they steal your mining power.
On other hand limiting mining power is possible only with 1 pool.
Ok, another good idea. Maybe confirmations should be made by IP. Somehow to implement the IP of the founder in the blockchain. So any reward should be checked by IP of the owner (wallet open port, but predefined port). If it does not obey the rules, the reward should be destroyed, so the block mined for free. Any IP should have upper limit per day calculated for example: average * 4.
Also every wallet will generate address "compatible" with computer ID calculated by the hardware.