Immigration is a tricky problem. More and more it seems clear that Europe needs immigration to battle the overall graying of the population, but integrating the immigrants is not easy. And then there is the question of how to select the candidates: there are hundred of millions willing and only a few hundred thousand wanted. Here's a simple idea that might help.
If you don't do anything, too many people will come. In order to avoid that, we've been making special rules to limit the in stream, but this has resulted in getting mostly political refuges and mariage candidates - not so much because these are the most needed people, but they are the hardest to ignore. But you can't stop the markets, so not only do we mostly get the wrong people, the right people that do get in, get in under false pretenses, which is never a good start.
You could work with tests, quota's or a number of heavy bureacratic methods, which contain a varying degree of randomness, but it all boils down to one thing, we want highly motivated immigrants who think they stand a chance to contribute something to our society. So the answer is easy: just sell the green cards to the highest bidders.
It won't always give you the best results, but I think it will work out way better than the current mess or any rule based alternative. Illegal immigrants already spend fortunes to get into the EU/US. Might as well have them get in on a normal plane ticket and pocket the money ourselves. People that have invested into being part of a society, will want to integrate more. And the people that pay, expect it to be worth it, so they are the people that think that they will earn a lot of money, i.e. will contribute to our economy.
And we should send the money we raise, back to the countries where they came from as a form of aid, as a payment towards the damages done by the brain drain.