The rest of your post is premised in the idea that firing someone is inherently immoral. It is not something that should be taken lightly, since there are big adjustment costs for both sides, but as I said before, it only moves a person to their next-best option. The action of firing someone shouldn't be viewed as depriving them of a job for life* (which is made up for by a virtuous company providing them with a job for life). The same argument applies to many other cases. A school teacher cannot say "if it weren't for me, these children would have had no education, see how valuable I am" because if it weren't for that teacher, someone else would have done the job.
*Here life = the average time a person spends at a company and the argument remains the same.