When a new block is mined, it takes a little time (seconds) to compose the block header for the next block and distribute to all miners in the pool. Until the miners are given a new header, they mine as though the block is empty. On occassion, an empty block will be mined as a result when a miner is lucky to find a solution before receiving the new header.
Forcing miners to NOT mine empty blocks would actually slow down block production, which in turn would create further upward pressure on fees.