On Mon, Aug 17, 2015 at 12:57 PM, Rodney Morris via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
I haven't run any statistics or simulations, but I'm concerned that the interplay between the random distribution of transaction arrival and the random distribution of block times may lead to false signals.

You could just take the average of all the block sizes for the last 2016 window.

If average of last 2016 > 50% of the limit, then increase by 6.25%
Otherwise, decrease by 6.25%

This means that the average would be around 50% of the limit.  This gives margin to create larger blocks when blocks are happening slowly.

A majority of miners could force the limit upwards by creating spam but full blocks.

It could be coupled with a hard limit that grows at whatever is seen as the maximum reasonable.  This would be both a maximum and a minimum.

All of these schemes add state to the system.  If the schedule is predictable, then you can check determine the maximum block size purely from the header and coinbase.