How is it that some companies are oblivious to the best workers and can't see the laziness in others? Why hire people who don't want to work, who stay in the sidelines to keep from being noticed that they're lazy and let go of those who work their butts off and point out those lazy people and problems with the working environment?
If you want to become not a good company, but the best, change some things. Don't let go of your hardworking opinionated workers. Get rid of the lazy ones making the good ones work harder. Hire an insider to weed out the bad. Or get managers to watch their workers, those who won't play favors to their favorites giving them notice that their watching how workers perform. In my opinion it's better to hire someone who has no ties with the company for that very reason, so you can see just how well and not so well everyone is doing their job.
There are so many things a company can do to improve instead of dragging it to the ground. What will you do when you've fired and ignored all of the good workers? By then, it may very well be too late.