Ugh, I'm so sorry. That's so disappointing. I know it won't help for this time, but some things I've learned over the years and always recommend to my clients:
1) Fly in as early before the cruise as you can. At least a day. 2-3 days is better if you can swing it. If this means you have to go with a 4-night cruise instead of a 7-night cruise, it's worth it IMO. I can always find you something fun to do on land before you sail!!
2) GET INSURANCE.
3) Book your flights themselves DIRECTLY with the airline. When you do this, you can advocate for yourself in the moment. When you book your flights direct, you can even often rebook your own flights instantly online if there's a delay or cancellation. In scenarios that involve lots of flight cancellations, it's like the Hunger Games. Time is of the essence here.
4) This one takes a gut feeling leap of faith, and it's a gamble. But if my flight is delayed and there's one in an hour or two that's still listed as on time, I usually switch to the later one if there are seats available. If a flight is delayed once, there's a decent chance it will be delayed again. And maybe again. And then maybe cancelled.
5) This last one only works when you've given yourself an extra day to get there. But when it's a HUGE mess like yesterday was, don't wait around. In situations like yesterday, the reality is that it may take a day or two until you can get on a flight to your actual destination. So if getting on that cruise is the top priority for you, ask the airline if there are any flights departing that would get you relatively close to your destination. Then rent a car the rest of the way. Or hop in your car and start driving.