In the first case (Rome to Marrakech), an alternative flight was found about the same time on the same day. It was even a little cheaper. No problem. In the second case (Fez to Barcelona), I had to book a day earlier. Once again, it was a little cheaper, but forced me to shuffle hotels and reduce our stay in Morocco by one day and increase Barcelona by a day (not a bad trade-off).
The third case caused the most challenge. We depart from Abu Dhabi for Johannesburg the same day as planned, but 8 hours later (10 am instead of 2 am). While this doesn't sound like much, it means an additional night in an Abu Dhabi hotel (not cheap - especially after I booked a non-refundable 5* place by mistake) without any additional time to do stuff. It also means that when we arrive in Johannesburg we'll have to overnight, rather than driving directly to Kruger. This is because everyone - and I mean everyone - tells tourists not to drive after dark in South Africa. The upside of these additional costs is that we will be making a daytime flight, rather than a redeye (followed by a 4 hr drive) that would probably mess everyone up for a couple of days.
I guess the lesson here is that really tight plans can be ambushed by flight changes. I don't think there's an easy answer, except to expect a little bit of the unexpected.