Why is Bitcoin forking?
Mike Hearn

If they changed the block chain conflict resolution rule so that, given a second chain of equal length the one with the smaller final block is adopted to build from, they could remove the block size limit. All other rules remain. Longest chain wins etc.

There would then be a subtle force pulling away from huge blocks, as even if you solve one, the bigger it is the more likely it will be replaced, and so the riskier the investment. As machines get faster, the investment gets smaller, so the gamble gets better, and block sizes naturally increase.