What prevents most of the miners reject such a block? Nothing. You took have an hour to verify this block, only to find out that the main chain already extended by 3 blocks and this block is orphaned, what is the point?
So as a new user joining the system, I'm not allowed to mine the blocks that I want (within the block size limit)? Don't you see how idiotic this is?
Of course you are allowed to, but then again, other users
are not forced to accept your too-expensive-to-validate blocks.
This is exactly the heart of the idea behind Bitcoin Unlimited.
We'd need to have a reasonably reliable idea what size blocks are
being accepted by the network at any given time without resorting
to a fixed limit that needs to be updated by devs.
I believe the best solution is the one originally suggested by Theymos: as a full
node operator, examine the capacity of your hardware and advertise your block
size preferences in transactions you make. Gather data about what preferences
other have. Upgrade your hardware or update your preferences, and in the
end the block size will converge on a Schelling point based on signalling.