If you're in a city there are many many ATMs for you to try them out.
Some may not work while others will.
Usually, the fee is fixed (or so it was for me) per session of withdrawal.
When there are extra fee, it's usually written and I tried avoiding those when possible (often easy because there are plenty ATMs around).
As the fee per withdrawal is fixed, you may want to withdraw as much as possible in one single time (with the small extra risk of carrying more money around).
It's good to know that the maximum amount withdraw-able varies between ATMS.
So if you don't mind carrying more money at once, try as many as possible until you find the best ATM that suits you. If I recall correctly, the max I found was 8 million VND at once, while most only gave up to 1-2 million VND.
EDIT: You may also want to take with you some extra cards, like a VISA one, just in case.
Lastly, some extra cash may be useful as dollars/euros are sometimes directly accepted or you can find places in town to convert them to VND.
EDIT: For instance I often withdrew here, Citibank on street Lê Thánh Tôn.
Thanks to Google Map and his pictures to allow me to answer this more accurately.
ACB usually worked well as well as Itai mentioned.
While I still believe your best shot is to try many, as sometimes, they're out of cash anyway. Techombank worked for me as well.