Use international exchanges not canada based ones. Fee's are not even close to that huge numbers u wrote.
I can recommend kraken, bitstamp, gemini, poloniex and btc-e.
Try one of those.
There are certain advantages in using local exchanges over the international ones. I have tried fiat withdrawal in some of these exchanges, and it takes a lot of time. But the local exchanges process the fiat withdrawals without much delay. Also, there is not much difference in the fee between various exchanges.