RBC and AMEX are your best bets, especially if you have Canadian accounts/cards with them already.
Also note the RBC might work both ways. I was able to get a Canadian Visa card through them. I just used my US billing address. My family does have a long tenured Canadian bank account with them, so this probably helps.