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.
That may work for a while but not for ever. The situation becomes a fixed supply with an ever increasing demand so transaction fees will skyrocket. The free market will of course find a solution to this; namely use a non Bitcoin blockchain without this artificial limitation.
Edit: There are alternatives to Bitcoin right now that do not have this blocksize limitation baked in.