i think the best solution would be to code something in the core that rejects a block if it has no transactions.
this way the pools that mine empty blocks get NO REWARDS.
I agree with this proposal. The resource in bitcoin is limited, we have to use it properly.
But what is the lowest limit of the acceptable block, 10 transactions or 50 transaction?