After years of freelancing I noticed the ones who never dealt with late payments or scope creep weren't tougher negotiators. They just structured their projects differently.
Here's what that looks like in practice.
Break the project into stages with a price per stage
Instead of one big scope and one final invoice, divide the work into phases. Each phase has defined deliverables and a cost attached. The client knows what they're getting at each step before anything starts. Most scope creep lives in the ambiguity this removes.
Late payments and scope creep are usually a structure problem, not a client problem. Once you've delivered the work, you've lost all your leverage. I spent 10 years as a freelance designer living that cycle before I decided to just build a fix.
MileStage breaks projects into stages. Each stage has a price, deliverables, and a revision limit. The next stage doesn't unlock until the client pays for the current one. That's really the whole mechanic, BUT it completely changes the dynamic. Payment becomes part of the workflow, not an awkward conversation at the end.