The "Since I haven't heard from you..." message seems unnecessary and a bit passive-aggressive. If I were a provider, I think I would find it off-putting.
If the provider doesn't ever respond, I take them off or move them down my list. If they respond and I'm still free, great, let's do it. If they respond more than 4 hours later (to use your example) and now I'm booked with someone else, I politely respond that I've made another plan and will reach out again another time, and they will likely understand that they may have missed a booking due to the time it took them to respond.
It's easy to assume the worst when you don't hear anything, and there are certainly flakes out there, but providers generally don't have receptionists, and they are balancing their business with their private lives. I know it can sometimes feel like it, but it's almost never personal.