The TL;DR is that:
Let's say the blocksize was 10MB and it took 10 minutes to solve a block. Miners would work on solving it but a large zero-miner would quickly solve a zero sized block. They would them publish it to their "large miner friends" who would start solving a next block.
Whoever solved the 10MB block would likely get their block orphaned if the empty block + next block was published immediately after the block was solved/broadcast. And whoever was working on the longer chain would be already working on the next empty block + next block.
In a way, publishing empty blocks seems to create an artificial cap on blocksize, does it not? As the blocksize gets larger and it takes longer to solve blocks, publishing empty transactions can cause more and more transactions to be orphaned.
Additionally, some (many?) people support miners publishing empty blocks. There seems some back and forth whether this should be allowed at all. As it is part of the protocol, disallowing it would seem about impossible at this point in time.
Doesn't this basically put a blocksize limit in the hands of the large miners? And isn't this just a way for the largest miners to gain an advantage over the others? Or is there some reason this is a "good thing"?
There are at least two ways that empty (1txn) blocks can be used.
The first is concerned with reducing idle time. If a block is solved and broadcast to the network then as a miner you are first made aware of the block header. This block header is all you need to start mining the next block. The rest of the block may take some time to propagate and will also take further time for you to validate and adjust your mempool. There is a chance that during this time you may find a block. Given the block reward is high and fees are low the most profitable thing to do is publish the block immediately. As you have not yet validated the previous block you cannot know which transactions to include from the mempool, so the only transaction you can include are ones that you know nobody else knows about - typically the coinbase transaction.
The second us a natural disincentive for miners to produce blocks that are too expensive to propagate/validate. If such a block is produced then a miner may decide that validating this block is taking too long and instead decide that they could make more profit by mining a smaller sibiling block. This block would also be seen by miners and they could decide whether to continue validating the "expensive" block or instead mine on top of the easy to validate block. These behaviours form a natural equilibrium in block size obviating the need for any artificial limit.