Accepting transactions get miners the fees associated with the transactions. Why would a miner want to accept no transactions?
Fees currently make up about 0.5% of the total mining reward. To a purely economically rational miner (pool operator) they will try to do the maths for the potential gains of that 0.5% vs the risk that their larger block triggers an orphan race that they lose. If the pool's bandwidth/connectivity is relatively poor then those longer blocks can dramatically increase the risk of an orphan race.
If you look at:
http://bitcoinstats.com/network/propagation/ you'll see that historically block propagation could be really slow. Even now it takes about 4 to 5 seconds for half the network to become aware of a new block, so if a large block were to add 3 or 4 seconds to that then you're at the point where the increased risk may well outweigh the benefit.
Of course if your mining pool has some awesome centralised infrastructure with super-fast Gbit+ speed links then they probably don't care and mine everything they can (Discuss Fish/F2Pool now do this, even though they used to be notorious for mining small blocks).