AirBNB isn't going to make everything right between two unknown parties. Minor hassles can add up into a major headache. Plus there's a lot of social pressure on reviews (both ways), so even that seems like limited recourse.
Edit: To clarify, I'm responding to why they should be able to refuse any guest.
Exactly. To do so would open them up to all sorts of complaints, civil rights and otherwise. To not do so would cost them millions of dollars in revenue. So, they choose to do nothing and pretend that the problem does not exist. I don't think it's fair to pretend that they are either blameless or powerless in this situation.
Short of having someone "Verifying" the reason, this would have the unintended consequence of disallowing the host from using any reason, good or otherwise, to decline guests.