CPU miners will never find a single share before the total share count is near 5k shares or so.
Why? This is not correct - everybody has the same chance to hit first share, of course proportionally to his hashrate. Just for curiosity, 7/8 shares was submitted by normal users with decent GPUs (I know some of the users so I can tell), not by users with strong rigs. Of course probability that CPU user with 1mhash/s hit one of first 8 shares is very low, but don't forget that he has 200-300x slower worker.
In these cases, you could use the share ratio of the last round the did have time to actually find some shares for.
Sorry, I still don't see why. And why the limit should be 5k shares and not 3k or 10k shares. Don't confuse fairness and luck; this artifical limit is definitely less _fair_, because it favors unlucky workers.
Fair points, maybe the idea I threw wasn't quite up to the task. However, since I have endless supply of them ideas, here's another one:
What if the rewards would be calculated only once per day. Every user would get a reward of
total_btc_for_given_day * their_shares_for_given_day total_shares_for_given_day
Would that make more sense? What other downsides would this have except slightly slower feed back on rewards for users? (altho you could still show a daily estimate).