You can way lower the likelihood of unwanted things happening through policies and proper enforcement, but never 100% stop it as people are still free enough to mess things up, so I wouldn't rush to immediately blame top management for a slip-up happening. If it happens often the story is completely different, of course.
Of course slip-ups happen, but then it should have involved more people, and should not have left this impression on the ex-employee, but rather the impression that HR didn't have his back (but at least were there as a second pair of eyes in the process). This sounds more like no oversight at all. Sure, we could be missing something.
They could stop blocking unionization, then these issues would never happen because there would be appeals processes that don't feel like a waste of time as well as a 3rd party that would have the majority of the blame.
Apple is 100% responsible for unresolved improper firings that become PR storms, they have a tool they could deploy to solve it, but they don't out of fear of profits.