Your best bet is just to vent your frustration and move on. Keep your own DNS list but don't make it public knowledge, you'll appear vindictive to we clients. You're in the service industry and you are wanting our business.
I had a hottie from CA visiting and canceled on me while showering prior to meeting her within the hour. Pissed me off, but I called one of the AMPS and then got dressed and went to see one of my favorites. But the lady did call back saying she could see me after all, and damn right I declined. She's on my DNS list now.
There are many variables in play with we clients as opposed to providers that factor in to our routine and scheduling. Unfortunately you providers just have to deal with it in this bizz.
If I was to say I'm not 100% sure about showing up for our appoint. I'm guessing you'd say call back when you're positive. Accepting anything less then a "yes, I'll be there" is just asking for more cancelations
Many people choose a different approach. For example, one last minute cancellation is understandable, but if he does it again, he'll need to pay a deposit up front to schedule again. But it's entirely up to you, not us, how you choose to run your business. As long as you're not going to post on some national blacklist, most people will probably understand and accept, even if they don't agree with your approach.
Lots of things could have happenned. At least hobbiest now know the repercussions of not following thru