Which is the polar opposite to my experience, almost everyone I've done this with has gone on to book further sessions with no problem and no chopping and changing.
I find if I occasionally give a little grace for the curve balls life throws at us it is beneficial in many ways, which just goes to prove there are as many ways to work as there are people working.
I too have done and do do the same unfortunately this has lead to me being constantly and consistently messed around both in the past as well as recently, taken for granted which has been very upsetting. What's worse is some of the clients doing this continue to say they respect me and do not intend to mess around. So why are they cancelling or rescheduling just about every booking they make? There's always some sort of death, something crop up, upset by something in the news, get their diary mixed up. One reg I'd been understanding with shortened a booking before he arrived, then over stayed, and because I took payment at the end only gave me the shortened fee he's also on previous previous rates.
I recently spoke to someone about this, her advice was to stop make it clear you don't accept any messing around she's zero tolerance.
On the other hand I have long term regulars who never cancel, always bring full rate and don't mess me around. By the way the one who overstayed despite saying he couldn't stay that long did change when I explained his on going unreliability plus the taking a liberty with that booking was unacceptable.
Given I happily offer bookings at a range of times up to 7 days a week, evenings, weekends as well as weekdays and plan around definite bookings / commitments I really go the extra mile.