But you're right, that doesn't solve the problem of decreases in demand.
Thinking about it, I guess if you could somehow solve the problem of the network knowing whether coins are too high or too low, you could incentivize people to destroy coins by giving them an option to create them in the future when the value was too high. So you'd have a protocol-level operation that changed a spendable output into an unspendable licence-to-print-money-when-needed, at a greater value than the value of the coins you'd destroyed. As long as it was likely that you'd need more money in the future to match new demand and make up for coins that were lost and destroyed, people would be incentivized to take coins out of circulation in the expectation of future profits.