To be fair, when you come here, specifically illegally, you are almost twice as likely to be on welfare than if you are a citizen.
About 35% of citizens use some form of welfare program while 63% of non-citizens do. I don't believe those here on H1 work visas are taking that percentage up so it has to be those coming here by other means.
The "old" way of immigration for not only the US but Canada also (friend of mine who immigrated from Russia after the fall of the USSR to Canada spelled this out for me) was that you had to prove you could provide for yourself and you would be ineligible for ANY social welfare programs for 12 months after you arrived in Canada.
If that was still the case, accept all/most workers that want to come here and provide for themselves yet deter those coming here for the safety net.
So no welfare, no food stamps, no Section 8 housing, etc for 12 months after you arrive and you have to prove before you arrive that you have the ability to provide for yourself.
My friend immigrated in the 80s when communism fell and that's how it was then, even for "liberal" Canada, why can't we have something similar. Literally accept most everyone that can prove they have a skill and can provide for themselves with the understanding they can not rely on welfare for a year.