I'm going to disagree with a lot of people here.
I have been a head coach for six years. My teams have won 3 state championships, so I have a successful program.
Our roster is 150 between boys and girls, which is pretty good for a school of 1700. On any given day, about 85-90% of the athletes will come to practice. I don't kick any of them off the team. They know the expectations. If they miss practices, they miss meets.
High school coaches need to be realistic, especially when it comes to a no-cut sport like track or cross country (they are no-cut sports at my school). Many of the kids are a part of the team because they want to be a part of something. They have never been in athletics. They aren't very talented. They want to go out and have fun and get better at something. But they also have jobs, family, homework, etc.
High school coaches should get over themselves and stop pretending they are the most important thing in the world and that it is a personal insult if someone misses practice without a doctor's note. High school coaches should be accommodating and forgiving.
I don't chew out kids. I have discussions with kids. Occasionally I will joke with them that I am going to start being meaner and yelling a lot more. They tell me that part of the reason they are so dedicated (yes, most of them are very dedicated even though I don't lay the hammer down or yell my way or the highway at them) is because I treat them with respect.
I will do anything to help these kids succeed. The ones who skip practice won't get as much attention from me. I am fair.
That's my opinion on the issue. Would it be nice to cut and only have 25 kids who come to practice every day? Sometimes. But it wouldn't be as fun or rewarding, and you'd miss out on a lot of developing talent.