Wow- totally not how I do this. We put our lineups out just a few days before the match. Maybe this changes once you ahve kids and your schedule is more set but our team would have NO CLUE what their availability is 2 weeks out let alone before the season starts.
Its never been a problem to have people bring balls for the matches. And with food we assign different people in the lineup to bring something different. In Atlanta we have 10 people in the lineup so that adds up to quite a bit of food.
The way I do it:
(Disclaimer: I'm in Norcal and the Norcal website includes some team management tools specific to Norcal, that allow players to indicate availability for each match in the season, and allows captains to indicate lineups. But I know there are similar tools out there that others use in the same manner, so the principle holds true.)
1. I ask everyone to enter in their availability for at least the next few weeks, and preferably the entire season, to the best of their knowledge. If they don't know about a particular week, one of the choices is 'maybe'. It is their responsibility to keep this information updated through the course of the season.
2. I use this information for planning purposes, so that I can have a rough idea of who I'm going to play when, to make sure I can give everyone enough matches. But I don't set actual lineups in advance, since things are still subject to change.
3. Our matches are usually on the weekend. I usually set the lineup on the Monday, or Tuesday at the latest. I rely on the latest availability information provided online by the team. I choose only players that have indicated that they are available for that coming week. If you have not updated your status to available, you don't get to play that week - simple as that.
4. I ask everyone in the lineup to confirm by the Weds at the latest. I need confirmation because there have been a couple of cases where people indicated that they are available, but in fact were not (and just neglected to update the site to that effect). If you don't confirm in time, you are replaced in the lineup.
Balls: I supply the balls for home matches (or if I'm not going to be there I give the balls to someone else to bring). Part of the team fee goes towards buying a case of balls that we use for matches and practices.
Food: When I set the lineup for home matches, I also indicate who should bring what. Typically I have 2 guys bringing beer, 2 bringing soda/juice/bottled water, 3 bringing a food item, and 1 bringing fruit.