The thing with the forfeits is that if someone doesn't enter a full lineup, putting random players in random positions, to fill the depth chart, is likely to be more of a risky solution than forfeiting. It is a lot less likely to have anomalies appear in user's games where they did set a full lineup.
Some guiding points for when this is worked on at the beginning of the offseason:
(1) The line which defines a forfeit should be when 2 starter positions have not been assigned players.
i.e. the team has not just sold a player just before the game and forgot to update his lineup but had been negligent enough to not have 2 starters.
(2) When only one starter player has not been set the backup should automatically fill that depth chart position when the game processed.
(3) If there are spaces in the backups and reserves section of the depth chart they are filled with players from the same position. e.g. If the reserves Center is missing the starter Center is repeated in that field.
But really this is will take a LOT longer to code than how long it took to write these paragraphs.
