The fixed supply may be making things worse, but I don't think it's the only problem. If it was you could solve it with an alt chain designed to keep on issuing money forever, but you can't. The core of it is that the value of all the Bitcoins in the world is just incredibly uncertain, depending on the extent of adoption and all kinds of other assumptions. So even if Bitcoin had a formula where the block reward gradually increased, there would still be a huge variation in plausible valuations of any single Bitcoin. And combined with speculative greed / fear, that's going to mean bubbles and crashes.
Also I think I agree somewhat with the idea that the inability to speculate on Bitcoin's future price makes its price discovery less efficient than it should be. Right now if all people think the BTC price will be $200 tomorrow, it will be about $200 today. But the opposite is not as true... if all people thought BTC would be $1 tomorrow, it will take time to fall because people can't short BTC or buy BTC options. At least not easily.
In theory there may be a possible world where the extent of Bitcoin use has leveled out and become predictable, and we all have contracts and salary expectations denominated in Bitcoins, so it behaves more like a regular currency even without a central bank, but it's hard to see how we get from here to there, and there's a lot of instability in between.
A larger market cap will help the problem but not fix it. In my opinion, the high deflation of Bitcoin is part of the
cause of its speculative bubbles... If people thought it would retain its approximate value over the long term, or gain value slightly, they wouldn't speculate on it and hoard it to make more
dollars. They would use it like money directly. Think about how much more useful a very liquid instrument that gets at or above US security rates would be. It would be amazing.
In practice if you want price stability you need information about prices (whether denominated in another currency or in terms of stuff we buy) to somehow feed back into the money supply, so that if prices drop you get more money put into circulation and if they rise you get money taken out. That in turn requires some information about the real world - you can't just capture it in advance in an algorithm. And once you need information about the real world, you get into issues of how to trust whoever is providing that information and prevent them from gaming it.
I have an idea to tie the price to the generation difficulty... but I can't figure out how to measure BTC value in a decentralized way that could be captured in an algorithm. The closest I can think of is bitcoin days, but I suspect that's a lagging indicator of price, and what we'd really need is a leading indicator.