Bitcoin can never substitute for traditional fiat currency.
It was designed for different purpose and can hardly fit requirements put forward to fiat currency. If anything, there should be some new Cryptocurrency that will fit society needs and it will not be Bitcoin.
No, it will not substitute national currencies, but I guess that the time, when Bitcoin can be used everywhere will come. There will be BTC ATM machines, and the stores will work with this crypto.
Exactly! This will not substitute the national currency because the national currency can be thought of as the only good that has the highest demand in the country and people-both from lower income and the upper income demand it.