Should I charge for no-shows?
That's up to you. If you do, announce it before the booking, on your website and in the confirmation. A clear policy, repeated at the right time, often solves the problem before you ever have to charge anything.
When should the reminder go out?
The same day, a few hours before, to catch people who forgot; and a confirmation request one to three days before, so you have time to fill the slot if the client can't make it.
Is a text better than an email?
For a last-minute reminder, a text is often more practical: it's quick to read, on the phone the client already has in hand. Email is still useful for details like your address or cancellation policy.
What about a client who misses often?
Talk to them directly, without blame. Ask them to confirm each appointment, or offer times that are less likely to clash with the unexpected. If it keeps happening, apply your policy as you would for anyone.