This is perhaps more of an economics question than a bitcoin question, but I'm wondering if it would be viable to leave the block size capped at 1MB for all time and simply let a series of rules govern which transactions get included into a mined block, e.g.:
This would incentivize people to rely more on off-chain transactions (e.g. gyft cards), or sidechains, to accumulate many payments into a single transaction, and perhaps to delay transactions if they do not wish to pay high fees. And one benefit would be that the blockchain would not grow beyond a size which would fit on a single user's hard disk. This would keep bitcoin decentralized without any need for a hardfork.
Are there any fatal flaws to this notion?