Just got back from a USA/Canada trip and my strategy for data was to use a TMO card in the USA (on the so-called Walmart plan of $30/month for unlimited data, 100 minutes of calls and unlimited SMS) and when in Canada use Vodafone's $6/roaming (Vodafone told me Canada was an eligible country). Calls would be made via Hangouts to save on minutes and received on Google Voice.

Of course when I got to Canada and tried to do that, my only options were to buy packs of data for pretty high prices. Calling Vodafone confirmed that Canada is not in the list of countries that are in the $6/day plan

So I went to a local mall looking for a prepaid SIM card and came across a booth that sold a bunch of different types. Fido was recommended as the best (they are a Rogers MVNO) and these were the options.

http://www.fido.ca/web/page/portal/Fido/PrepaidPlans/Plans

They seemed pretty expensive as I would need to pay $55 for 750MB or $60 for 1GB of data.

Then the guy suggested I go on a plan and just terminate after one month.

The plan was $45/month for unlimited minutes/text and 1GB of data so I choose that which while expensive was better than Vodafone's offering.

Of course there was the obligatory $10 (+ tax) for the SIM card itself. Why do North American providers always charge for SIM cards? But then as an aside I had to convert a micro SIM from TMO to a nano SIM and TMO wanted to charge me $15(US). I went into a TMO store, was told about the $15 charge and I complained saying I was a long-standing TMO customer and had just upgraded to an iPhone 6. They waived the charge!

I used the card for 3 days, and about 800MB of data, mainly e-mail, synchronising photos take on my wife's iPhone (she was using my phone via tethering) and G+. With my Nexus 5 the best I could get was H but that was good enough for me.

Just before I left Canada I called Fido to cancel the account. They asked if I would be back any time soon because for $7/month I could hold the number. I declined.

I was then passed to their retention team who noticed I only had had the account for 3 days. Having told them I was actually at the airport on my way out of Canada and unlikely to return soon the CSR said they would only charge me for the 3 days I had had the account - so about $3!  So in effect I got 1GB of data for $10 (SIM card) and $3 (line charge) which is a very good deal.