While I am just getting started in the home services business arena my experience recruiting, screening, hiring, leading and dealing with personnel is decades long.
This is going to sound a bit harsh too - the problem isn't usually with finding good people but usually with bad company management that has no clue how to effectively deal with people.
Leading people is in and of itself a specialized skillset. If one doesn't already have it that will need to be learned and developed like any other skill.
Begin with looking at your own company through their eyes.
See what you offer them through their lenses - and that will be eye-opening in and of itself when done honestly. So if you want better people - you have to have a better opportunity to offer.
Then you need proper onboarding, orientation, training and daily leadership with accountability. Finally - to really knock it out of the park you need to offer some kind of performance pay incentive that rewards their additional hard work.
Money is important. But so is how they are treated. Everyone wants to be respected and feel like they matter and are valued as Team Members. When you can make that happen, along with excellent compensation and high quality training and support - then you are on a whole different level.
That's my two cents anyway, and I hope it helps.