That would also mean that 20 people own 95% of all bitcoins ... I do not think that would be so fine ... and what's worse it may be actually happening - the deciding factor then is, what are those 20 people going to do with their bitcoins.
It's not at all relevant what they might intend to do with their bitcoins. If that concerns you, you can either avoid Bitcoin, or start your own generating cluster to compete with them.
The other thing to consider is if you start to create your own chain in some sort of presumption that the "rules" aren't "fair" with Bitcoins, that new network is potentially going to be incredibly vulnerable to potential attack by not just this dominating group of CPU processors, but also by any other group that may be lurking.
More seriously, the way to fight people who are "hogging" all of the mining is to simply throw more CPUs at the issue. That helps make the network all that more secure from outside attacks.
I'd also like to put it this way: If some group is getting 95% of all bitcoins because they are throwing huge amount of CPU resources at generating blocks, they also deserve to get them because they are spending real-world money trying to get all of those blocks. I would beg of somebody to demonstrate that the coins they are currently earning through mining activity is even doing something like paying for the electrical costs of running Bitcoins, much less paying for the computer equipment at the moment. Perhaps that may be true in the future, particularly if transaction fees become a big deal, but I don't see anybody really "making money" in terms of mining bitcoins at the moment, at least through mining activity. There have been some early adopters who are doing pretty well, but that would be true regardless of the mining rate.
The question that you can ask: Are those who are contributing CPU bandwidth following the rules and generally trying to include transactions into their blocks?
In terms of "fairness" of who gets what for bitcoins, it has been debated extensively in these threads:
https://bitcointalksearch.org/topic/rethinking-bitcoins-1764 (Rethinking Bitcoins)
https://bitcointalksearch.org/topic/rfc-remove-mining-from-bitcoin-1688 (Removing Mining from Bitcoins)
I'm sure there are many other thread about "fairness", and if you know of some feel free to reference them too.
It would be nice if Bitcoins was "fair" in terms of allocating roughly the same Bitcoins to all active participants, but how would you determine that? In terms of mining the bitcoins themselves, I can't think of a better system than simply using CPU bandwidth as the deciding factor for mining the coins. Some system needs to be used, and in this case it is verifiable so far as how often you get new coins that are generated as opposed to "earned" through some service or good that you provide to other Bitcoin users. It would be nice if you got paid for network bandwidth and perhaps a few other metrics, but CPU bandwidth is currently the best and at the moment way to engage in the initial distribution of the coins.
The presumption here is that a majority of the people (and by logic most of the CPU bandwidth) are pretty decent an honorable people, even if there are a few "bad apples" who like to spoil it for the rest of us. As more people become aware of Bitcoins, the hope is that they are also going to be donating CPU bandwidth to help out the whole network. All you have to do is get a few blocks in, say once a month or less often than even that. Doing so will in a small way increase the difficulty and make it all that much harder to hijack the network.
Regardless of the currency, there will be some people who have more than others. Live with it. Perhaps they are lucky, smarter, or have better experience and circumstances to take advantage of opportunities presented. All of that and more plays into personal economics and your ability to get money.