I used to work in actual currency trading and currency volatility is a pretty well understood problem when your dealing with smaller currencies (especially currencies used in politically unstable countries). You just need to maintain a bid-ask spread that's wide enough to protect you from the typical volatility (based upon recent historical data) and have a real-time trigger that suspends trading if the volatility exceeds your spread.
Yes, but I'm saying that there's a standard way to handle it, which is essentially taking the payment at a discount to the market rate in order to give you time to change it to your own currency without taking a loss.
If you do that, you'll realize that accepting Bitcoin has higher fees than credit cards. People won't understand this if their identity depends on them not understanding it.
You missed the point. If you (or your payment provider) add, say, 5% padding to account for exchange rate volatility and then you also pay 1% to Coinbase, your total fees are 6% which is way higher than credit cards.