It would seem that there could be a simple mathematical progressive increase/decrease, which is based on the factual block chain needs and realities of the time that can work forever into the future.
Here is an example that can come close to Gavin's first proposal of 50% increase per year.
If average block size of last 2 weeks is 60-75% of the maximum, increase maximum 1%, if >75% increase 2%
If average block size of last 2 weeks is 25-40% of the maximum decrease maximum 1%, if <29% decrease 2%
Something like this, would have no external dependencies, would adjust based on what future events may come, and won't expire or need to be changed.
These percentage numbers are ones that I picked arbitrarily. They are complete guesses and so I don't like them anymore than any other number. This is just to create a model of the sort of thing that would be better than extrapolating. To do even better, we can do a regression analysis of previous blocks to see where we would be now and tune it further from there.