I still don't see how on average it's worse for students. It might be worse for student A who would have applied to MS knowing a higher chance of getting in, but that's then probably worse for student B who genuinely wants to work at MS and doesn't get the slot that A took.
Isn't it better if everyone expresses their true preferences and then we do the best matching we can on that basis, rather than having students attempt to game the system in response to company ratings? Your description makes the system sound close to optimal to me.