Why is this a problem? Why are we trying to manipulate Facebook's hiring practices? We may not like it, but they should be free to hire whomever they please.
This may also be a nit-picking response, but the sponsoring company is not the one "giving out" H1B visas. They can sponsor it, and request it, but visas are only issued by the US government.
Actually, recommend you read into it at a little as you're completely wrong on that point.
An H-1B only requires a Labor Condition Application (LCA) which is basically an agreement to pay the prevailing wage and an assertion that there's not an ongoing labor dispute (strike, lockout) ongoing at the proposed location of hire.
From what I've seen is there is a clause that says some employers have to try to recruit U.S. workers when seeking H-1B employees.
However, from what I understood, it only applies employers who have been designated H-1B dependent (something like 15% of their workforce is H-1B) or something like that, or were identified abusers of the program. And even then, there is a salary limit, i.e. if you are paying over $X (which I am assuming facebook is), even if you're workforce is a high enough proportion H-1B you would be dependent, you are still exempt.