Three everyday arguments against granting asylum for refugees are "we cannot help everyone", "refugees should be hosted in their neighboring countries", and "we don't want economic migrants". All these claims make a point, but none of these can be used to justify a strict asylum policy. Below, I mainly take the European view but the arguments also apply for other developed economis like the Australia and Israel, and for the middle-income countries, such as Brazil or Dubai as well.
A common argument against granting asylum is that there is a too large number of potential immigrants outside the European borders. As we "we cannot help everyone out there", we should keep our borders firmly closed. Otherwise, the rising human flood will flush away both us and our culture. But this argument is fighting a strawman. Accepting some asylum seekers does not imply we have to open borders for all the potential immigrants. We should think about doing our "fair share", not that we have to help everyone. If EU accepts, say, a million refugees, that is a million humans whose lives are improved. And this is a good thing. One can draw a parallel with other calamities here, many survived holocaust exactly because there were people who were willing to help just a few. If you improve the life of someone, this is a life improved, however large is the number of those you cannot help. Another, more pragmatic reason is that by moving some people out of crowded refugee camps in poor regions we lower the pressure both on the camps and on the regions. Indirectly we help the others.
I agree that the preferred location for displaced people is close to their region of origin. From there it is easier to go back once the fighting is over, and cultural similarity helps too. But geographic and cultural proximity is just one piece in the enormous logistic challenge. There are many more variables that matter, in particular the availability of jobs and infrastructure to host a large number of people. Conflicts often occur in poor areas were neighbors can offer little besides a similar language. And countless examples show that cultural similarity is no obstacle for killing. Neighbors often do their fair share. Lebanon (4.5M inhabitants) hosts 1.2 million Syrian refugees. 500 million strong EU is far better able to provide the living necessities for a million newcomers. Poor neighbors' help is necessary. But without proper housing, sanitation, jobs and schools, and the conflict lasting for decades, the tent camps are not a solution.
Finally, I don't see a clear difference between refugees and economic migrants. Sure, we have to spend our limited ressources on those who deserve it most. But often poverty is accompanied with fighting, and famine may be even more deadly than war. I would suggest to introduce an immigration lottery, similar to the US green card lottery where everyone may try their luck. Give those who are fleeing war and desperation a substantially better chance to be granted access, but give the others an opportunity too. In this way we avoid drawing too strict lines between humans, and too much desperation among those who were left out.
We can do things the poor regions cannot. We should help some even if we cannot help everyone.