You can do it right yourself!
You can find a reputable company and continue to employ them to build a long term relationship.
You can hop around without loyalty trying to find the one that will do the best job for the lowest price.
There are always tradeoffs with whatever strategy you take.
Think about what really matters to you, is it doing a good job, being available 24/7, the lowest cost... etc
And then really think about what the tradeoffs for what you want is? Do you want a good job, 24/7 service, AND expect it to be cheap?
I have found that honest communication works best, but you need to be honest with yourself and realistic with the tradeoffs.
And once you find people that do good work for a fair price, KEEP HIRING THEM (pay them on time, and be respectful of the workers), and refer them to others who share your values. Good business likes good customers