This is a hot topic for me. I would like to change it a bit to Seniority.
Can we not allow are children to wait their turn. Understand you don't always get things quickly, and you have to work hard, maybe even serve some time. This is high school, winning is always important, but a child's self esteem is more important. If they are good enough to play college ball (a small %) let them then beat out upper classman for position or leadership roles.
What I mean is this.
My nephew's son played football for 3 years. That means money to the program, fund raisers, and parents taking the kid to and from practice. When he got to be a junior, a freshman got his position. I am talking equal talent.
What message does that send to your child about committment? Coaches need to respect their players. Do not keep allowing players to make your team each year if you don't plan on playing them. Cut them quick!. There is a small percentage of high school students who just want to be on the team and ,hang out in the dugout, including watching underclassman playing in front of them.
Back to the Captain...
Yes there are underclassmen that have leadership. But I guarantee there is a senior on a high school team that has some leadership. It may be a silent leader or a loud one. I agree coaches should make that decision, right or wrong. Ladies sports and their parents can be very brutal. My advice is to reward the senior with the captain position. It's only high school, and remember the coach is making all the major decisions and should be providing a majority of the positive motivation if he/she is truely a "good coach" and don't forget, and good educator.
One more thing, imagine how it would feel it you worked at your job for 10 years,and new person joins the company with the same credentials. Suppose there is an new position that would be a promotion for you, and you apply for it. What if that new person, new to to company with the same credentials gets the position. How do you feel?
Just like my nephew, or just like that senior was hoping to be captain.