An idea that would allow this cruise to go forward.
Depart from the SF Bay Area where the Mariner is now or from Seattle. Do not go to the Canadian ports, Vancouver and Victoria, but do Alaska and then before returning to LA go to Ensenada and then back to LA. Skipping Victoria on the way south should allow for the time needed to go to Ensenada and then back to LA.