Why not just decide an acceptable rate of growth for the blockchain per annum (e.g. 10 GB), limit block sizes accordingly, assume all blocks will potentially be completely filled up, and be done with it?
This seems to directly address the fundamental issue (the concern about too much data in the block chain), which we will eventually face anyway if bitcoin is successful.