The same rules apply as for merchants who accept US dollars in many countries instead of their national currency as a form of payment, even though their expenses may be in national currency. Typically they'd need to monitor the exchange rate and adjust prices if there is a significant change; in the case of high volatility currency such as BTC, the practical way to address the volatility is add a significant premium to the price if paying with BTC.
You are correct to identify volatility of BTC/USD exchange rate as a deterrent for merchants to accept it as payment. Ultimately, the merchant needs to have confidence in bitcoin as a store of value if they're going to accept it as a form of payment. The same is true for any other currency or asset accepted as a form of payment. To date, bitcoin has proven long-term to be a very good store of value, appreciating significantly in US dollar terms over the past few years. Any merchant that has accepted BTC for years and kept it is better off now than they otherwise would have been.
Should the value of bitcoin stabilize and appreciate relative to USD in a slow gradual manner, as opposed to appreciating chaotically as it is now, I think it would be much easier for more people to trust it as a means of payment without worry of a significant loss in value.
It also helps to think of USD as a commodity in and of itself that fluctuates in value just like everything else. All stores of value have risk associated wtih them whether its holding assets, cash, equities, real estate, gold, other precious metals, cryptocurrency, or anything else. If you've been around long enough to compare prices of goods in USD terms from the 1970's to now, you'd know that cash itself has not been the best way to store value long term...