The free market provides a solution. When the block size fills up, people will pay higher transaction fees to get their transactions through. Free riders paying zero or low transaction fees won't get their transactions processed.
The block size can only be increased if the big miners agree, and it's not in their interest to increase it.
What happens if you dont pay the required fee an your transaction is never processed? you lose the money?
You double spend your own transaction with a higher fee, or you pay a miner directly to include it.