I have generally chosen to deal with this problem by refusing to acknowledge the existence of bonuses or promotions. It is harder for a warped incentive structure to warp your behavior if you refuse to be motivated by its prizes.
That's noble, but many aren't inclined trade personal profit for the company's profit. I don't think they should be, either. It's the company's job to ensure that their success is aligned with their employees'. Raise the issue to management, and if no action is taken, then you've done your due diligence.
I can imagine situations where you should care about the company's performance, like a non-profit or certain startup situations, but I think the majority of enterprise developers fall under the above.