Readers are urged to consider that the following two positions of Satoshi are potentially mutually exclusive:
- Fees will support the system, long term
- Block size may be increased in the future
Right now, the block reward subsidy supports the entire system, so it is difficult to draw any conclusions about a fee-supported future -- and yet that is what we are being asked to do.
At the two extremes...
If the block size strategy is too loose (too big), there is no incentive to curb spam, there are not enough fees.
If the block size strategy is too tight (too small), fees are very high, in-blockchain traffic is discouraged, possibly users are discouraged away from bitcoin.
The open question is...
how to pick the best number?
or, how to enable a market to pick the best number?
or, how to pick an algorithm that picks the best number?
The fee/block-size balance is a crucial balance that must be maintained for the health of the system. There is little evidence that Satoshi put much thought into this, probably supposing that the market would figure out the answer.
There is no such thing as the best number, it's impossible to know without knowing how much bitcoins would be worth in the future and how much mining costs would be in terms of those future bitcoins. But I added emphasis to your post because you yourself already answered the question you pose in the end! Right now the subsidy + a bit of fees support the security. Why not make that permanent? Why not simply require fees == 50 - subsidy before the block size can be raised by double? And if fees drop bellow say fees < ( 50 - subsidy ) / 2 the block size gets halved to min 1Mb.
This way eventually when the subsidy runs out fees would need to equal 50BTC (how ever much those would be worth) before the block size could be raised and the market would then take these 50BTC and find a balance between adequate security and mining costs in the form of more users == more fees == more security and more block size, or reverse, less users == less fees == less security and less block size.