If you ask an immigrant who has just arrived in Canada why it is so hard to find a job, he will most likely say it is because all the employers ask for Canadian experience. I understand that for a hiring manager who has no idea about work practices in other countries it must feel very risky to trust that person's credentials, but is it really that, or is it the fear of hiring someone with different cultural behaviours that will take longer to adapt and therefore slow down productivity? Last year more than 250,000 people arrived in Canada as immigrants.
Employers need to accept the fact that these people are out there looking for a job and eager to join Canada's workforce. If the issue is actually the cultural differences, then why not look into Cross Cultural training and raise awareness in the organization to take advantage of the great talent coming into the country? Canadians are so open and interested to learn about different customs and traditions, doing this can even help the company become a better rated employer.
On the other hand, newcomers looking for a job need to be committed to their new country and prepare themselves for what lies ahead: they will also have to adapt to a new culture in the workplace, so a CC training is also something they can consider. Besides that, and most importantly, they must make sure their level of English and/or French is up to par to what is required in the office, e.i. participate in meetings, make presentations, talk to customers, discuss projects, etc. Plus, they must be aware that a certification will be required in some fields if they want their skills to be credited.
Coming to Canada is definitely not as easy as it sounds, we (being myself an immigrant) must be prepared to join a very competitive workforce and therefore work hard to prove our talents to a very demanding industry.
Here is an article that looks at diversity from a broader perspective; it is interesting to see how far the concept can be taken.