That was one of the problems with the skilled worker program though. It was implying to people that they can get a job in Canada based on their education and experience without taking into account that there might not be a shortage in their profession, that they might have licensing issues etc. etc. So it's a bit harder having to get a job before you go but what were you going to do in Canada anyway if you can't get a job? Is it really that much worse that you might have to take an extra trip to Canada to look for jobs and interview before you can immigrate than to wait 2-7 years to be processed and then go with no guarantees of anything?
Well, spending a couple of thousand bucks for a trip (never mind the visa requirement for quite a few countries) to Canada without any guarantees of finding a job during your stay there is not that appealing. Besides we all have our currentl lives with jobs and obligations, and going away for a month isn't that easy.
And let's face it, no company will compensate you for these trips unless they're dying to get you.
Besides if you do your research before immigrating you do understand that no "bright future" is guaranteed in Canada, and that you will face difficulties here and there especially concerning jobs, but there are chances and apparently more of them than in most of other countries. And that I think is the main point for immigrants.
If you're going to Canada expecting money lying on the streets then it's your own fault, but if you have the skills and willing to take a chance and put some effort into it, then I believe you should be granted that chance.