Hi Richard,
I recently had a very similar issue with 3 Swiss business school students. 6 months in advance they reserved my apartment from July to December 2017. Safe to say, at the last minute (before cancellation penalties would kick in) they canceled their booking, all while holding those dates "hostage" for 6 months.
Sadly there is not much Airbnb can do, you could report the profile, if it was the same profile booking and canceling multiple times, otherwise, I fear Airbnb will just view it as a string of bad luck.
What I have done, for my high season bookings, is explained the case of the Swiss booking to my future guests and requested a small deposit from them to ensure their interest of their booking, (you can do so under the message tab - Send or Request Money) I am already booked out for the summer, and every guest has been very understanding of the situation and my request.
Lastly, you can alter your cancellation policy under Hosting. You can view them here- https://www.airbnb.com/home/cancellation_policies#flexible
Hope you have better guests in the future!
Cheers