You can take a job and leave if they pay you more. That is fine. Microsoft isn't really only trying to gain talent. They want to drain the life blood out of their competition so they can get ahead. That intention is evil
It's a tactic. A dark one for sure. But corporations aren't known for being philanthropist anyway even if they spend millions on PR to mask that image.
As long as there's no enforcement (and in a free capitalist economy it's hard to enforce this, and I personally think it shouldn't be enforced too) these will happen. The best thing that smaller companies can do is to adapt and play by the rules if they can't change them.