Hmm I still think this is a better solution than "Just make more Bitcoin to pay miners with", but I'm starting to see the problems with it. I don't know, maybe a maintenance fee in addition to the mining fee (or just take part of the mining fee) could be used to return coins to the coinbase to reward empty blocks (albeit by a much smaller amount than a block with a transaction in it) as to prevent an attack.