There are two kinds of transaction fees. One is the fee your own bank charges, most charge you nothing to use ATM's that are "on their network" and the size of those networks varies. The other fee, which usually is steeper, is charged by whoever owns the ATM. It is not uncommon to get hit with a $5-6 ATM fee if you use an ATM in a store or other location not run by a bank, no matter what your own bank charges.
The only answers are to do research
(what banks are in the area, and what they charge) and TO AVOID ATMs. There are still ways to write checks and cash checks, or to buy travelers' checks locally. Oddly enough, sometimes the cheapest thing is to use credit cards instead--but you alos have to check that, because some give you "bank rate" on currency conversions, others charge more, and some don't convert each transaction, they just add them all up and convert at the end of the month--when rates may not be what they were.