That's why I have an American credit card. Can't afford to get scammed.
For a few years when I started driving commercially and spent a lot of time in the USA (more than I was in Canada) I had a US bank account with a US card. Not a credit card, just a regular USD account tied to my Canadian TD account. I could transfer money back and forth at a very competitive exchange rate and then take it out at a US ATM as needed. This was before the days of debit for the most part (especially in the USA, it was unheard of) so this was the best solution.
Times have changed. 5 years ago it was still hit and miss even trying to use debit for purchases so we carried cash more often, but I'd say debit is now an option at 95% of locations so we always opt for that. At the 5% remaining that debit won't work at, our debit cards also work as Visa's when necessary, so we run it through as Visa instead.
No matter what option, we still carry little to no cash.