I coach a large and successful girls XC team in the Fall, a small but competitive girls and boys track in the Winter, and another small but successful boys track in the Spring.
First off there are huge differences between the genders and how they relate to their coach. There are also big differences in where the kids come from. Private school kids are different then public school kids on the whole.
There is also a difference between distance runners and sprinters. About 10% of my distance runners are a challenge. 95% of my sprinter are a huge challenge. When I say challenge I mean guys getting arrested, drugs, alcohol, vandalism, stealing, fighting, etc... You want to save all of these kids because you care about them but sometimes you have to let them go for the sake of the other team members.
I do allow kids to take off from practice depending on what it is they are doing. If it's practice for a school play, playing an instrument with the local orchestra, or getting the schoolwork they were behind in done I will support them. I have often met them later to supervise their own practice or we go over a training schedule that fits in with what they are doing.
That being said not every excuse is a good one. When a kid is driving a BMW and flashing their I-phone when I'm driving a Ford and have a flip phone then work is not a good excuse to leave practice. You have to use your judgement.
If they don't tell me PRIOR to practice they pick up an unexused absence no matter what the reason. Three of those and they are dismissed. Just like parenting a child if you do not follow through on this rule they will not respect it. Last year I let 6 kids go. It was hard to do but now my team is in a better place.
Today for instance out of a team of 19 boys two were not there. They were sick and out of school. Nobody skipped out. Don't get me wrong either. This didn't happen overnight. It took a few years. Every now and then (usually after I praise them) they will test me just like a child does with a parent.
Set the rules down with your team and follow through on them. But, also treat the kids respectfully. My kids know I'm the boss and I'm their coach and not a friend but they also know I care for them and have their best interests in mind. I've been told by many of the teachers at the school that the kids I have on my team only listen to me. They are often confused why that is. If you care about them and show it they will come around.
Then there are those times where the rules don't apply at all. I have a mentally challenged kid who comes and goes when he can. The other kids understand and support him. I have another athlete who has a family member who is terminally ill. I don't hold him to the attendance rules based on his situation. When he shows I make sure he works hard though. Lately he hasn't missed many practices. Other kids on the team ask why I go light on him and I ask them if they would rather be in his situation and then they seem to understand.
Sometimes when your athletes are more well rounded they will perform better. For example it takes the pressure off of the race when they have an audition the day after a meet. They tend to run looser and most often perform better. When their whole focus is track or XC they are way more likely to freeze up.
It's also good to make your team as fun as possible. We do our core workouts as a team before actual individual practice begins and I have a radio out for the kids to listen to music. We have awards for hard workers throughout the week on Fridays. Every now and then when they are really beat up we'll play ultimate frisbee and I'll fire the grill up when we do. We typically have a special trip we take as a team that we fundraise for. You'd be surprised how much the kids love to stop and get an ice cream after a tough meet. Think outside of the box. Make your team funner then whatever else they may be doing. Then they would rather be there with you! It's possible to work very hard and have fun also. In December and January we had a "apocolypse workout" and a "fiscal cliff workout". Both workouts were incredibly difficult (I know because I joined them for the "apocolypse workout")but the kids embraced them both.
Praise the athletes when they show. When things are going good talk to them about how fit they are, tell them how proud you are of them, "that was a good practice", etc. Be positive.
Pick good captains. These athletes should have the ability to lead a practice.
It's true that we live in a different age then what we were used to but there are still ways to keep your team together. Be patient. It's hard to change the culture of a team but once you do it gets easier.