It can be very difficult to find good contractors. A huge part of that is that, for the last 30 years or so, we've told any high school kid with half a brain that they should go get a 4-year college degree. So they do, whether they have any clue what they want to do or not. So when I need a new admin for the advertising business I own, I place an ad for a $10/hour entry level position and I get 100 resumes from kids who just graduated with a degree in speech communications, or marketing & PR, or some other BS degree (says the guy with a philosophy degree), and they're $100K in debt and no idea how they'll ever get out of it.
Meanwhile, my remodeling business gets either Mexican immigrants (because the building trades are still honored there) or the American kids that high schools thought were too dumb to go to college. I have 25 really excellent full-time field employees now, but I've hired over 300 people to get there in the 8 years since I started the company.
But the other side of things is, investors tend to want things cheap. "Good, fast, cheap - pick 2" is pretty true. Investors will tend to pick the cheap contractor over the good contractor, because with so many wannabe investors chasing deals, the margins get slimmer and slimmer. If you have a really tight deal, you honestly can't afford a top-notch contractor, so you may go with the Craiglist guy. Sometimes, you even get lucky and he turns out to know what he's doing. Other times, not so much.
From a reputable contractor perspective, I stopped taking investor work a couple of years ago. Investors are always looking for the lowest price, and unfortunately, a lot of new investors really don't have a realistic idea of what things cost or what's possible. I have 8 crews booked out for a month on homeowner jobs, which pay better and are less hassle, and two more crews dedicated just to my own investment properties. Investor work just doesn't make sense.
So what's an investor to do? Either you have to look harder to find real deals - where you can afford what it costs to do it right - or you need to find that needle in the haystack of good contractors who aren't already overbooked with work. That might be someone who's just gone out on his own and is building his book of business. If you develop a mutually beneficial relationship with someone like that, it may be good for both of you for years.
I see a lot of suggestions on here about buying materials yourself, not paying a deposit, things like that. Those are generally bad suggestions and will get you only bad contractors. No good contractor wants clients supplying their own materials - clients don't do this every day, and there's a huge change that they will have the wrong items, or not have everything you need. That slows down jobs and makes them unprofitable. And no good contractor will front a client the money (on a big job, not handyman stuff) for materials and pay their guys' weekly paychecks out of their own pocket until the client - hopefully - pays. That's what deposits are for. The contractors who'll work without one are largely going to be the more desperate ones.
I strongly suggest when trying out a new contractor, that you limit the scope. Don't hire them for a full-house gut & remodel. Give them a bathroom to do, or flooring, or paint, or something small. If they totally screw it up, you may lose a little money, but you won't be one of the horror stories on here where a contractor has an entire house torn apart and isn't getting anything done. You can cut your losses when it's just on a small part of the scope. It does slow a job down, but it protects you financially. Once you've developed a good working relationship, you can increase the amount of work you give someone.
Sorry this got long, but I hope these thoughts are useful to someone. Good luck out there!