Users can't set the block size, because it is a global setting for all users in a single longest chain rule.
I hope these aphorisms are not totally off the tangent:
The longest chain is just the longest chain, the rule and the block size limit
are logically separate and independent.
Just as a price ceiling distorts that market where it is imposed, a hard-coded
limit becomes a source of inefficiency. No sacrosanct dev group or other entity
should be able to dictate what that limit is.
There is a market for security - getting included in a block provided by
miners. If we can get that market to clear without friction, then no more block size problems.