Education together with freedom and tolerance always gives the best return for the money you invest. These days its a given that most Indian students who originally opted to go for US to do their MS degrees are now flocking to Canada. Also a whole range of working professionals are going to Canada to work, start companies and contribute to the economy of Canada.
Your economy and overall national ecosystem always benefits when you get highly trained, hard working people with a strong work ethic as immigrants. Not only do these people contribute to the economy disproportionately in return for a good life, they also impart similar values to their kids.
At the same time its sad to see US take such a protectionist and anti-immigrant stance, totally forgetting the important role immigrants have played in the rich and success journey so far.
More dangerous than all these awesome immigrants not coming to your country is they going else where. There is no infinite supply of great talent in the world, and given how priorities align not everybody can be trained to be good enough among your existing citizen-pool. The only real way of having a disproportionate set of awesome people in your country, is to create an environment where you can attract them from outside. Without these awesome people no country can last a long time in front of a competition.