Like most ideas, my proposal has costs and benefits. I don't argue that it gets perfect results, only that it is better than the current situation. Let's test it with your scenario. Today, if someone joins the site and posts a hateful, offensive comment, nothing stops them. The comment is visible to all users, forever. If it is offensive enough, the admins may step in and disable the account, but I expect this to happen rarely. The hateful, offensive person continues to exist. Under my proposal, if someone joins the site and posts a hateful, offensive comment, nothing stops them. If it is offensive enough, the admins may step in and disable the account, but I expect this to happen rarely. The comment is visible to all users, unless they click on the username and check a box saying "I prefer not to see comments from this user." After which they no longer see the offensive comment or any other comments from that user. The hateful, offensive person continues to exist. The standard rule for dealing with trolls is to pay them no attention.
I'm capable of paying no attention to racist comments, and I don't even need the mute option. The problem is that when I see, say, a racist comment, I know that a lot of people probably lost interest in the site upon seeing it. And those people, not the racists, are the ones I would like to be in an online community with. Not only that, but a safe haven for trolls will draw enough trolls that I see racist comments frequently. On Reddit, in the default subs, you can meet a new racist every day. The personal blocking option doesn't scale.