If the Axis really wants to take Algiers after Vichy, they can do it by committing enough resources. The Allied counterstrategy is to be aware of this possibility and make sure the Axis pays a steep price either in the Western Med itself or by taking advantage of any other area that's been weakened because of the commitment of Axis resources to taking Algiers.
Yes, subs are effective, but the Germans have to get them into the Med, which is only easy if the Allied player has no naval presence near Gib.
Pvt B., can I suggest you adopt a mutually-agreed upon house rule with any of your opponents: no Axis investment in Amphib warfare research, or a maximum of 1 chit at a time. I'm sure you could find like-minded players to agree to one of those restrictions. In my opinion, and it's just my opinion, the latter option would strike the right balance between historical realism and game balance.
In fact, I'd be happy to play as the Axis against your Allies with the agreement that the Axis player would be limited to max of one German and one Italian chit invested in Amphib warfare at any time.