Criticism of the shirt is warranted in the sense that he 'wore to work'. What if any one of us wore a shirt like that into the workplace? Once you wear a 'protest' shirt into the workplace, you are by definition involving your employer and all the other employees into your issue. Even if, and that's a big if, you do not wind up in HR, everyone else will perceive you differently after that. And I don't mean just Black issues, even if you went to work with a pro 2nd amendment shirt, you would likely incite at least some other employees and disrupt the workplace.
That is what Kaepernick did. What he was doing, deliberately or not, was involving the entire NFL, all the other players, the audience, and the advertisers, into his personal issue. The point of his protest was never the issue. It was that he was using the NFL as a medium to express his dissatisfaction. Work is for work. Work is not for personal causes no matter what they are.