In all this, I think only one person has mentioned the difficulty of assessing competence or technical merit, if you're going to promote based on merit. I think this difficulty is the only valid reason for the seniority system, when every pilot is doing the same job in the same way for a long time. So by all means promote based on seniority if it is really too hard to objectively assess merit.
It is most unfortunate that the god "seniority" is used to justify all sorts of workplace injustice at some airlines. The happiest and most productive organisations are generally based around the principle that everyone has to share all the work. Then seniority is used only for deciding who is best equipped to make difficult decisions requiring experience and judgement.