I recently discovered that my humble Bank of America Platinum Plus Worldpoints card has no foreign transaction fee. They eliminated the fee sometime in the past month or two.
(And, no, I'm not confusing this with the Global ATM Alliance. I do mean that when I charge things on my credit card---say, French train tickets---there is no foreign exchange surcharge.)
All it earns is lousy, worthless Worldpoints, but on the upside there is no annual fee and decent customer service.