I don't like proposals which involve "voting" of any sort.
I think that the blocksize should be controlled by people who generate transactions
And the best way to achieve it would be like follows:
1. Set unlimited blocksize limit
2. Calculate average block size over past 20k blocks
3. If a miner wants to create a block larger than the average, he'll have to solve a puzzle with exponentially higher difficulty. Something like Exp[(new_block_size/average_block_size -1)]*difficulty
This setup increases probability that the miners will attempt to create larger blocks only if consumers (e.g. people who create transactions) actually need them and signal that the larger blocks are needed by posting transactions with larger fees