You're right and I glossed over most of it but the killers are concurrency, substitution and fixed deliverables. With concurrency, if you can prove that during the contracted period you had billable work outside the contract then that goes in your favour if you get nabbed and the contract is borderline. With substitution, the contract should state that you can provide a substitute on demand so you're contracting out services and yourself. The third is fixed deliverables; that's always a killer. Rolling contracts as non distinct labour are how to get shot.
For ref I had a small battle on this front and concurrency won it for me.
TBH get a good solicitor and get them to take a look at the contract paperwork. That's better advice :)