I'm more talking about scammy merchants. Like this:
I was scammed about 15 years ago by a restaurant in Canada. They billed me twice for the same meal. They billed me correctly, but ran the charge again the next day. It showed up as a slightly different Dollar amount because of the exchange rate. The rep at BOA told me I must have eaten there twice since the bill was two different amounts. I had to send them a copy of my airline boarding pass to show them I wasn't even in Canada on the date of the second charge. Again, that was about 15 years ago. I have since filled up 2 more passports and have NEVER EVER charged another meal to a credit card. Not even in the USA,,,, just use cash at restaurants/bars and for taxis and have no worries (about what the bill might be) or regrets. I do wear a money belt in most foreign countries.
The change to the BofA policy was relatively recent. Now, using an Alliance ATM (Deutsche, Scotia, etc) waives the $5 fee, but you still pay 3%:
Use your Bank of America ATM or debit card at one of our International partner ATMs and avoid the Non-Bank of America ATM $5 usage fee for each withdrawal, transfer or balance inquiry as well as the ATM operator access fee. Bank of America will assess an international transaction fee of 3% of the converted US dollar amount.