If having a job offer is going to be the basis for accepting immigration applications, most of the immigrants will come here as fast food and agricultural workers. The next day those workers get citizenship they will quit and look for better jobs or live on welfare. The reasons that made these jobs unattractive to many original Canadians in the first place are the same ones that will make them also unattractive to newly naturalized Canadians. Just look at the temporary foreign worker program statistics and you'll see what the business community in Canada is looking for: cheap, exploitable and easily-dumpable workers. This is the real mismatch between the expectations of employers and those of immigrants and not the alleged skills gap. Most immigrants are, in fact, over-qualified for the jobs they apply for, but employers are not looking for more qualifications but for less labor cost and rights to be able to compete in the global markets without affecting their bottom lines.
Without an apartheid regime where some segments of the society are forced perpetually to do the kind of jobs that no one wants to, the immigration/citizenship system will never be (and shall not be) the answer to labor-shortage problem of the private sector. A good analogy would be expecting immigrants to live in the arctic regions of Canada where few white Canadians want to live. Immigrants will be willing to accept this requirement until they get the citizenship and they will move south or run away. An immigration policy should be built on a strategic vision of the nation's future and not on the short-sighted considerations of the business community. Short-term problems have to be addressed through short-term solutions like the TFWP.