The only mitigation is to make sure you encrypt everything in transit and ensure that the private keys never leave Canada.
Whether or not AWS, Azure, etc. can meet this...I honestly don't know.
I don't believe any provinces have requirements on border crossing, and there's no federal requirement on data sovereignty at all for private corporations.
Same requirement - data must not leave Canada, which ruled out basically all "hosted solutions"
http://www.servercloudcanada.com/2015/09/canadian-privacy-la...
There are only 3 provinces that require storage in Canada: BC, NS and QC. And even then, that is for public sector organizations only.
I can assure you the data we were sending around didn't even leave our territory, let alone the country, seeings we owned every single scrap of networking hardware in a ~10,000km radius.