You should learn how to "sell". That means a bunch of different things depending on how you decide to sell and is a basic business decision you should make early on. Make the decision such that your team can do the sales work. Hire sales when you have your process proven and nailed down.
37signals really got hiring right: you should (generally) hire a role after you've figured out how to do it yourself and doing it over and over again is becoming a material drag on the company.
If you feel like you need a deposit to start a project, don't do the project. In 14 years of consulting, including software development projects, I've never taken a prepayment. I can't remember a real problem I've had. I can, however, think of a lot of clients I've said "no" to because they didn't seem to have their shit together.
Their real worry is that you'll suck and delay things, by making clear that you understand that such things happen and will help as you can if it does you improve trust. And you should really be doing that anyway ethically. And realize that sometimes you're just not the right person for the job and to help them find the right person if you want to build a strong network.
Otherwise, agreed on all points
Not exactly sure how this is possible. Any mature business will split up a project into milestones. Whether payment is due at the beginning of a milestone or at the end, makes little difference to the business overall.
I prefer to charge new clients at the beginning of each milestone, starting work after they pay. Existing clients I'm happy to charge after the work is completed, because there's a working relationship there already.
Before I started doing this, I had payment issues several times a year. Since I started doing this, I haven't had a single payment concern and have never had to even think about it.
Then paying 30% at three intervals during the project
I fully understand that people starting out in consulting work don't want to do this, or can't. That's OK. But I don't think it's a good idea to build this constraint into your practice as a principle; it will keep you from growing your business.
The way Jeremy and I started Matasano --- it's probably more accurate to say the way Jeremy started it, since he's ultimately the person who founded Matasano, back when it had its original name, for his cat --- was to do "serious" consulting projects on the side while working a full-time job. I don't think he was taking prepayment for those projects, and if he was, I sure didn't see any of that money. So that's one way to maybe start consulting without depending existentially on up-front payment.
I also understand that there is a class of client --- one I think people new to consulting believe is much easier to acquire --- that can't reasonably be trusted without prepayment. I agree that's a thing, too. If you need these clients to boot up, that's fine, and I'm not dragging people for taking them. But here's a constraint you should build into your practice: your mid-term goal should be to say no to these clients, full stop, not trying to find a way to fit them into your pipeline.
Also: I can only tell you what's worked out for me and the weird group of people I know. I feel pretty confident about this stuff as business advice but I could obviously be wrong. I'm not going to waste everyone's time tediously disclaiming that though (this one tedious disclaimer excepted).