You’ve received great answers so far, the flip side is to have a conversation with the client at their next session. It doesn’t have to be confrontational, a simple “Over the last few weeks you cancelled X number of sessions and we’ve had to reschedule. Is there a timing issue? Are you too sore from your last session? I want you to get the most out of our sessions so you can reach your goals. If there is an issue with scheduling of your sessions, lets see if we can come up with a solution that works for your schedule and allows you to reach your goals.” You may learn more about what is going on with the client, creating more of a personal relationship and they’ll find that you’re more engaged in them as a person, than just a money making client.
If that doesn’t work or the setting an expiration date, you may want to have a direct conversation about keeping to sessions as your programming is designed with certain rest days, to meet goals, etc.