Why can't we fight Bitcoin thieves by not accepting payments from hacked accounts? Why won't we simply stop accepting payments from hacked accounts? We know their public addresses, right? Sure, hackers still will be able to compromise user's accounts, but at last that money won't be spendable, right?
Fungibility. Money needs to be fungible, otherwise it's not money at all.

Blacklists allow censorship and confiscation of wealth by centralized/powerful players (like governments) which will be abused to screw over innocent people Or (hopefully) scare those people away from Bitcoin in the first place: why would you invest in Bitcoin if you know you could end up on a blacklist someday?

It weakens the lesson the victims needed to learn the hard way: if you don't hold the private keys securely yourself, you don't hold the bitcoins.