Been at this 10 years. My top tip is if you’re doing cold outreach, kickstart the value exchange by giving something first without asking for anything in return. A “hey I noticed x is costing you more than it should and could be better/cheaper done like this” AND then actually give them the “this” for free without expectation of anything in return is 10x more effective than a message where you’re asking for work. It…
Put bluntly, I design it so I can't lose, and neither can my client. I design it so even in an adversarial, zero trust environment, the relationship and arrangement still makes sense.
In practice this looks like, I do a bit of work up front, ship a demo within the first week, if they're happy, they pay, it becomes theirs, and we continue working together.
I also choose projects I actually like, and that align with my goals, so even if I get hosed, I had fun and learned cool things. (But keeping milestones small minimizes the cost of getting hosed, for both parties :)