The vichy rules reminds me of the one from xeno games. I think their’s was to roll for the fleet like yours except uk and germany each got one chance at the fleet and 2-4 was scuttle. I like your idea of rolling for individual ships. Maybe make it individual sz’s?
On the territories they rolled 50-50 free or vichy. If it went vichy it and everything in it turned german. I think the allies were allowed to use free french areas any way they wanted,but if they actually attacked a FF territory to take control of it, all remaining FF turned vichy. If FIC went vichy it went to japan.
It went something like that anyways.