I wonder to what extent, the above is the reason behind senior workers having a harder time finding/maintaining their job. It almost sounds like a Keynesian liquidity trap. People expect their salaries to continually grow over the course of their career, but at some point, the value they bring, relative to a fresh-grad, may not justify that salary level. Other industries may sidestep this problem since work output often depends on connections and reputation, both of which keep growing in your 40s and 50s, but engineering is different in that people's abilities grow exponentially in the first 10-15 years, but not as dramatically afterwards.
If people were willing to continually update their salary expectations, accept pay cuts when necessary, and signaled this to their current/prospective employers, I wonder if this problem would mostly disappear.
As an employee myself, I fully encourage all my colleagues to negotiate hard for every dollar they are worth. But at the same time, I wouldn't begrudge any employer who's trying to get the most bang for his buck.