The size of a pool, its total hashrate and the distribution of hashrate between bigger and smaller miners, have no effect on the rewards you, mining with a specific hashrate, will obtain on average.
The total block rewards collected by the pool are proportional to the number of blocks it finds per time unit, which is proportional on average to its total hashrate. In every fair pool reward method, the rewards you get on average are exactly proportional to your part in the total work done by the pool. If you mine in a pool twice as large, the pool will collect twice as much rewards but your share in them will be cut by half, meaning you get the same on average.
More specifically, all fair reward methods give miners on average (1-f)pB per share they submit, with f being the fee, p the probability that a share will be a block, and B the block reward. This amount does not depend on anything else, in particular not on the pool size.
What does differ according to the size of the pool is the variance in the rewards (how much they vary from the average due to randomness) and the maturity time (how long it takes to obtain the rewards). It is always the case that a bigger pool will have less variance and maturity time, and thus for a miner of any size it is better to mine for a pool as large as possible (however, it is better yet to mine for multiple pools simultaneously).
One point where a miner needs to optimize based on his own size is the share difficulty; smaller miners will want easier shares, so they should make sure their pool offers it. While bigger miners should work on more difficult shares to make sure the pool server isn't overloaded.