I have played in some games where only the top 5 get a Prize from a starting field of well over 1,000 players. Why so few? well the answer was simple They were paying out Tickets to a much bigger Tournament, 5 X £20 tickets so the £100 freeroll as advertised was a monster Tournament all playing for the top 5 spots.
The only way they could alter this would be Paying out 1 Twentieth of a Ticket to the top 100 players, then of course you would have to win 19 other games to achieve your goal, Which would put most players off.
So to answer your Question, I think the Pay-outs in most games are fair, and competitive with other sites, If they paid out to more players the pay-outs would get smaller, and then of course they would not be worth playing for. and for all the
freerolls they are putting out, there has to be a balance between how much money they can afford to give away, and how much profit they are raking in from other games, Maybe this is the reason
pokerstars have cut out playing so many Freeroll Tournaments.