I setup an account with an online only bank called Aspiration and simply transfer what I am willing to spend to them.
They refund all fees that other banks charge and they don't charge any foreign ARM fees beyond what Visa charges, even with that charge the exchange rate still always works out better than ANYWHERE else I have found and it works everywhere around the world that has an ATM.
Worked wonderfully on Canada, but I realistically found that I really only needed about $40 cash in Canada for a week for two people by just using it as a Visa everywhere that takes card.