Sorry to keep flogging this horse, just want to get it out of my system..
What if you used some kind of logarithmic scale, with regard to your Hash Rate * BTC Balance. ?
So that the effect is much more for small miners.. and diminishes for the larger miners.
Somehow 'levelling the playing field', and make it so that a small miner benefits more than a large miner.
So, as a simple idea..
Total Hashrate = Computer Hashrate * SquareRoot(BTC Balance)
Then combining into your previous example.
1GH with 10 BTC = effective 1GH*SQRT(10) = 1GH * 3.16 = 3.16GH
Then x2
2GH with 20BTC = effective 2GH * SQRT(20) = 2GH * 4.47 = 8.9GH
8.9 / 3.16 = 2.8 times larger only..
Maybe the equation could be stepped so that
BTC balance < 10 you use the original.
BTC balance < 100 you use the squareroot. (of the difference over 10 + original for 10)
BTC balance < 1000 you use the cuberoot. (of the difference over 100 + squareroot up to 1000 + original for 10) etc.. so that the curve is continuous, like taxes..
This way small miners would have the greater advantage for pooling together, but larger miners wouldn't ?
I suppose Pools would then break into smaller pieces to gain as much TOTAL HASH RATE as possible, some simple equation would determine that, BUT '..Pools would then break into smaller pieces', allowing more players onto the chain.
..TierNolan.. ATTACK!