If you're going this route, as a node, you could look at the number of transactions (maybe add up their fees) you have collected yourself from the network and require a certain percentage of that to be included in order for a given block to be accepted by you, say 20% for example. So if you have accumulated 20 transactions, a block would have to include at least 4 of these in order for you to accept it. This would guarantee the block to contain at least some fresh transactions.
I'm pretty sure this would have all kinds of implications and probably something prohibitive. It would certainly increase danger of chain-split.
I thought of this and posted it earlier in the thread with 10% minimum. Unfortunately this can lead to splits if transactions are not properly relayed. It probably wont happen often but it will happen. Rules could be made to overcome this, but all of this adds complexity and the possibility of unknown results. Having a minimum will just cause MM to include a repeating transaction or two of his own, not from the waiting list.