hey, I am in a very similar situation! So l propose to figure this thing out together
I live in the US and have a very good credit history, and will be moving to Canada this summer. Most probably for 3-6 years, the exact time length of my "visit" is not set yet. The relevant question is: in what currency will you be getting your income?
In my case, it's Canadian dollars. In this case, even if Capital One cards don't have foreign transaction fees, you are still subject to foreign exchange risk. This is not a big deal though. The bigger deal is that if your income is in Canadian dollars, you need to find a way to convert your money into USD to pay your credit card bill. In most of the cases the exchange rate that you'll get through Capital One (either Visa or MC) will be (unfavorably) different from the one you'll get from a bank through which you'll be converting your cash. Hope it's clear.
So in my case I am definitely going to open Canadian cards and use them on the regular basis. I was thinking of opening either AMEX or Capital One cards, since they have operations that span both countries, and when considering your case they may "look into" your US files. Not sure it happens, but I hope so.
If anybody has to add something or has any tips, we'd highly appreciate them!