I would say that your first step to avoid getting taken is to keep your eye on the target.
That is, if you're there to power the A/C, you're there to power the A/C. Not to fix the furnace, set up the scaffolding, or do anything else. If the A/C turns out to be something else ... you're back to the very beginning ..... I don't care how similar the job appears.
The same applies to payment. If your terms are 'net in 30' ... that does not mean 'after inspection,' or 'some now, more later,' or 'make it up on the next job.' Every change order is a separate transaction, and what happens there has no relevance to the original deal.
I stress this, because one of the primary hustles out there is to continually shuffle things about, until nobody knows what's happening - or who will make it happen. Keep your eye on your target ... or it will cost you money.

The GC is responsible for two things: scheduling and picking up the trash. OK, three- if you need a toilet as well. If he doesn't do his part, you don't need him.

The first key to getting paid is to know your customer. Never risk more than you can afford to lose. I've told many I would be happy to work the next job .... AFTER I get paid for the last one. Oops, gee, I guess they just forgot to pay me.
Structure the payments so you are never in trouble with the supply house. I've seen too many guys get shut down by the supply house .... all because some CUSStomer was playing games.

It gets back to knowing your customer. No matter the paperwork, you'll never come out ahead when dealing with a scoundrel. Don't waste your time.

Know the risk you are taking, and operate your business to compensate. For example, if your business model depends on a continual flow of new customers .... make darn sure to get some money first, and charge more. Keep in mind that you don't know anything about these folks, appearances can be deceiving, and be ready to play hardball. Even paranoids can have enemies.

Finally, it matters not what is "customary," or what the "other guy" does. Have your model, and stick to it.

Honesty is critical- especially to yourself. If something isn't working, it is far to easy to make excuses, and waste more time following a failed practice.