Just had a new thought: First let the block fill, so that there are always dust transactions queued in mempool which have to raise the fee to a reasonable level. Then look at the fee to let majority of the transactions confirm in 10 minutes, if that fee is too high, raise the block size, but still keep the block filled. So the raising for block size works as a mechanism to prevent fee from going too high, but still enough high to maintain the mining incentive
The problem is, the power is in the hand of miners, they have the incentive to keep the blocksize and raise that minimum fee and you really can not do a lot about it. The only thing you can do is to develop your own mining farm, or your offchain services. And it seems the later is more practical
even with a 2mb limit.. miners dont need to fill that limit..
EG at the moment with 1mb
miners let in 500k-700k of fee paying transactions. and then a handful of free transactions if generous..
some miners (antpool) have been known to prefer to only fill 200k or 700k per block. i really dont see why people still think that 2mb limit means 1.99mb of data for every block in some doomsday scenario..
so, back to the 2mb blocklimit.
miners that want to add more transactions will have 1.005mb of data as their first toe in the water test on processing times.. and when they are comfortable to process transactions without much lag compared to competitors, they will slowly increase adding a few extra transactions to test how fast they can process data.
there is no 0.99 or 1.99 (only 2 choices).. data can be anything from 250bytes all the way upto 1.99megabytes.. and any amount they want in between..
the 2mb rule is just a buffer to allow growth.. not a hard rule that forces miners to need to push through 1.99mb of data.
so even with a 2mb limit your idea works as the miners can then test their limits and increase to add more transactions as they are good and ready