I think there should not be a requirement to publish anything. The miners should, if they want to make a larger blocks (due to fees perhaps), make one, and consider the risk of being run over by a chain that grows from a sibling. They should use all the information they can get (out of band, not relying only on the software versions and blockchain votes) to guess whether a sufficient majority of miners and nodes will accept it as valid and build on it.
As demand for space in the blockchain increases, fees will rise and miners will want to make bigger blocks, especially if others do. Being a few weeks too late in preparing may be a noticable loss on the bottom line. As a minimum they should be ready to extend a branch that contains a bigblock (or their mining income will effectively evaporate until they upgrade).
Currently a 1000001 byte block will probably be orphaned, but after a block of say 1500000 bytes has been buried 20 blocks deep in the chain, probably any size up to 2000000 will be ok (being a recognizable, round, sensible number). Collusion between a set of miners is allowed, either "we agree to build on each others' block", or "If you make a largeblock, and it is rejected, we will make up for a part of your reward/fee loss" (just to get the increase started).
If the miners don't want bigger blocks, I will have to buy a majority of them. There is always a way.