Look, if you know how to hunt contract jobs (and are good enough to be known by the word of mouth) and you have enough network in Canada; I guess this question (is it worth to move to X) will not be even asked. You will follow contracts as people used to follow caribou in past.
I am only talking from the perspective of someone who is neither. I have always got a little bit of leg up due to my former colleagues and college mates. But then twice in my career I went on my own way. It worked out well for me.
Coming to Canada, for me the problem was that I had just one month of time to plan out everything. My team and subsidiary was closed, I had three months to get the next job. I was not supposed to do anything for 2 months of that and in one month only very little from home to support "sunset" of my subsidiary. For two months, I did absolutely nothing. Sleeping, going out with my wife to all the known tourist spots of Karnataka and even a trip to Nilgiri. In the last month, I decided to do something about the position I needed. I had many offers from teams in India but then I knew I wanted to move outside India. If not for anything then to see what the hell the fuss is all about.
One option was Australia but I decided against it (even though I had PR over there). My friend who was in management and a PR in Australia like me got a reject from Australia teams. So I thought, its better that we both move to one place in Canada because immigration is cakewalk in Canada compared to USA. I found one subsidiary in Canada for my friend which were desparately looking for a middle manager for a long time, he fit in there because they wont have to do a full loop on him. There was no engineering position there, sucks! So I found another one that had and just joined there. My visa etc was processed in less than a month and rest is history.
As they say there are many ways to salvation.