If the algo to set money supply growth rate can take in real values of what is transacted on a regular basis then it would solve the problem completely. Not sure if this is feasible.
It can't be done with self-referential code alone. Something needs to be able to observe changes in external demand for the coin. Inputting the "market price and depth" as it changes is one possibility. However, that initiates a cascade of design questions. Which market? Who inputs the data? How often? What if the dominant market changes? Who decides when to change markets and who inputs that data...
Ripple makes this closer to a possibility since trading happens INTERNAL to the Ripple system. However, there are still lots of other issues to consider.