As for the immigrants, I think better selection is going to have a better match of their skills with what we require. For instance, on credentials, the Australians require that before someone gets a visa, their credentials are going to be accepted in Australia.
On the other question—it's a broader question, though—if you don't bring in immigrants, wages will go up, including in the restaurant industry, and you're going to have to pay people more money. Both the Economic Council of Canada and David Green at UBC found out that enough people will take training...and when I say “Canadians” will, that includes immigrants already here.
Normal market forces will take care of most, though not all, of the needs; some of them are too long term. Probably 95% of labour shortages will be taken care of when wages go up and more people take the training. It's not as fast as bringing in temporary workers. That's the quick way of doing it. They work hard. You keep wages down that way.
So it's a bit complicated, but those are the basic issues.