That's pretty much exactly how we do it, except that we don't take a CC up front. The difference, I think, is that I really do like irrigation service work. It's one of the most profitable parts of our business. We get $110 to show up (covers first hour) and then $70 an hour plus materials (with a really nice markup on them). And I'm trying to keep 2 guys busy just doing irrigation service/repair FT 40 hrs. a week. So if I demanded the customer give us a CC before, I don't think we'd get as many appointments. We wouldn't be able to have as many techs and take on as much work. We can't afford to lose them.
But we do insist on payment on completion. We really prefer the client to be home when we do the work, and most of the time they will accommodate us. But if they can't be there, we make sure to get a phone number where we can reach them so that when we are done we can get a payment (CC over the phone) as soon as the service is completed. We will also usually call and get an okay if it's going to be more than an hour worth of work to fix the problem.
I think you're a little over-worried with the waver thing. We've had a FT 40-55 hour a week service tech. for many years doing several calls each day. I've almost never had a situation where we did some repair work and then the customer wanted to blame us for something else. I mean, there have been a couple of times (maybe 5, over several years) when, after we left, something else quit working. And customers wanted to try to blame us for that. We just politely explain that it was pure coincidence and that we weren't even working with that part of their system. It almost always works out okay, after a little tension. On very rare occasion, we've had to go back and fix something we didn't break just to save our reputation and avoid getting a bad report on Angie's List or the BBB. But that's happened like 2 times maybe, over several years. No big deal. I'd rather have that small % than make everyone sign a waiver.
The overwhelming majority of our service calls go really smoothly.