Dave, I've noticed that teams are setup in a linear fashion. That is, one after the other. By creating all the ships on the player side first and recording their hull classes, I've been able to use those hull classes to specify what hull class to use for enemy AI.
For example, in the PatrolB missions, if a FF drafts a BCH, the FF takes player slot #1 and the BCH takes player slot #2.
Enemy slot #1 gets an AI ship that is at most one above or one below a FF (min FF). Enemy slot #2 then gets a AI based on player slot #2's hull class, a BCH, so it gets AI limited in hull class to one above and one below a BC, which is Heavy to a Dreadnought. I put a limit on AI ships in slots #2 and #3 to BC however, so in this example, at most you would only get a BC.
It seems to be working well and all the PatrolB variants I wrote, this is the code for AI generation. The only problem is that I havent been able to get the hull class of an AI ship generated in the player slots specifically, so I've just had to use the same range for these slots as for enemy slots. I've probably made that sound way too complicated... lol!! But it works...
In other words, if a FF drafts a BC in any of the PatrolB's, there is no real advantage, as matching AI ships will be generated.