Full games:
Games last 3 or 6 innings, as half or full games (6 innings of 3 teams = 9 innings of 2 teams). A full game can last a long time. If scores are tied, extra innings can be played as agreed upon by the teams (or according to league rules) before the game starts. We suggest allowing extra innings to be played until one team wins, or until no more than three extra innings have been played.
Rainouts:
A rainout game can be considered complete using the score after 3 innings are played (subsequent incomplete innings are dropped).
Substitutions:
Teams can substitute or re-position players if an injury occurs or at the half-way point.
Hurt batters are not replaced in the batting order until next fielding (new batters do get a new count) unless all other batters are on base.
If others agree, teams can play one or more players down, but a missing player is an automatic out each at-bat chance. Another option is to borrow an extra player (or coach) from another team, or even draft a fan or two into the game (why not?).
Have fun:
Please remember, the point of all this is to make it easier to have enough players to play the games and to have fun, not necessarily to always win (that's what the seasonal points are for - to reward showing up over the course of the season, not just each game).