Best captain I ever played for sent out the schedule as soon as it came out and asked everyone to let him know of any matches they know they'll miss (work, vacation, kids, etc). If there was a match that it looked like we would be short, he would seek out additional players, specifically asking about the key date(s) where we looked thin.
Then, every Monday he would re-confirm availability and send out a lineup by Thursday for the weekends match. We never defaulted a line. It was a simple and effective strategy.
The only players that didn't do well under that system were the unorganized and unreliable ones. If a player said they were available twice, then on Thursday were suddenly not, generally didn't get much PT the rest of the year. The captain was a Navy vet and didn't want to deal with drama. He was a little rigid, but fair.