I don't see the problem... addition by restriction:
1. Add the extra roster spot for a double-header, but only for teams that play one.
2. The AI is forced to select a rested pitcher as the extra player.
3. The AI must send back the same player after the double-header is over.
4. If another pitcher is injured during the double-header, the AI may DL him and keep the extra pitcher instead.
Now someone whip that into C++ real quick and we're good.
Disclaimer: I don't do programming for a living, I have never programmed anything fancy even in Excel, and I am scared to death of the Xerox in the next room.