One thing I haven’t seen mentioned is what I’ve do — use a US parcel receiving service. If you live near the US border or don’t mind a weekend day trip to Niagara Falls or some such for some sightseeing and a quick trip across the border, then you can have US retailers send your package of cells to the parcel service. The service will call/email you when the package arrives, and you then go pay the receiving fee and pick up the package.
It’s especially nice if you can take advantage of “free shipping within the US” deals, since you then just have to cough up a few bucks to the parcel service, and if your bill isn’t too outrageous, the nice Canadian customs officers will likely just roll their eyes at “flashlight batteries” and wave you through. 
Google “niagara falls parcel pickup” or whichever US border city you’ll be near, and you should get a nice list of parcel services.
Obvious hint for Amazon US if you order a bunch of stuff: if it’s an option, choose fewer packages but possibly delayed delivery over quicker delivery but more packages, since you’ll be paying the parcel service per box received.