Dynamic coinbase as incentive to fill blocks Miners do not currently have a monetary incentive to fill up blocks with transactions (tx fees are negligible compared to the coinbase tx). Those miners that do fill up the blocks may do so with the long-term interests of the network in mind.

It seems clear to me that making the coinbase amount a function of the relative size of the block would result in a much better incentive. I cannot see any obvious drawbacks with it.

A simple formula would be: actual_coinbase = coinbase * (actual_block_size/MAX_BLOCK_SIZE)

For example: actual_coinbase = 25BTC * (512KB/1024KB) = 12.5BTC

Of course the actual implementation would have to take into account consensus issues (rounding, corner cases, etc), but it should be possible.

Why would this not work?
This adds an incentive to fill blocks with ANYTHING that will take up space in the block. There are many different ways to incentivize including transactions, but they can typically be gamed because miners can create transactions themselves, and they gain all the fees from those transactions right back into their coinbase transaction.

Your suggestion, which has good intent, would likely cause miners to be incentivized to fill their blocks with meaningless transactions, and increase the already ever-increasing size of the blockchain, making it harder to run a full node.