Doubling the reward when the difficulty doubles is rather extreme. I'm not sure if that would work or not. It could be much less extreme. For example, 50 coins could be created per block at 1 difficulty, but 500 coins per block at 1 million difficulty. This would decrease the deflation caused by increased usage, but it wouldn't eliminate it.
Any thoughts about this idea?
The coefficient there (1 million in your example) can not be known. Putting a constant there won't make it better, since we don't know how the network, the energy industry and computing power will evolve. From an investor's standpoint, it's far worse, because any technological breakthrough in one of those areas can destroy the currency. If the currency is to remain pure and predictable, Bitcoin's way of doing it is probably the best.
You could attempt to create a dynamic coefficient though, but the factors that need to go in the equation are external and cannot be detected by the network. There were proposals flying around that enables network to dynamically determine that coefficient by using a parallel distributed network that decides it. Could be done, but that kind of complex systems are prone to unforeseen consequences. I hope someone tries though, would be a good experiment.
EDIT: One of such proposals is
Encoin.