Being a professional at what you do, that I am sure you have spent countless hours preparing yourself and gaining solid, relevant experience. Why do you have to live in permanent anxiety of losing your job due to some other people's lack of vision, professionalism, know how, experience, etc.
Why? Some say is the economic cycles, competition, product demand and so forth.
The point is that professionals, especially technical and you know how hard is to keep up with projects, deadlines and technology changes, do not deserve this torture to be gainfully employed under stress, in order to survive, prosper and give self and family some piece of mind.
I think that the market place needs some serious re-engineering. How could you give your best in an environment of brown noses, back stabbers, buddy buddy, job insecurity, incompetence, with complete disregard of an employee's mental health and well being. Many say, yes, you will find another job, bla, bla, bla. How many can relocate that easy with kids in school, wife employed hopefully, Mortgage, Car loans, etc.
I say stop taking and taking it and fight to develop a "Terms contract system" just like executives do. If you are let go before the end of your employment contract, you must be compensated with penalties from the employer for their failure to growing the business to support the human capital load of a company.