This is an exact analogue for the UK's IR35 rules. It is designed like the US to protect workers being exploited.
Note that it is not entirely designed to prevent tax avoidance - someone pays my National Insurance (think benefits) - either my "employer" or my own company.

Now I am a middle aged, middle class skilled software professional with 20 years experience. Exploiting me is qualitivly different to exploiting a single mother on a zero hours contract at the local factory. And HMRC knows this - and has better things to do with their time.

This is not to say that my contracts are shams or that the basic principles of independence and substitution are not there - but that we are all big boys - exploiting 500/day software developers is like raping a hippo - difficult, noisy and leaves no-one satisfied.

I would focus on an aspect of the 20 questions like "substitution". Under IR35 the contracting company must have the right to swap out a person doing the job - that is if Mikado Software wants to send Bob in to do just as professional a job as me, then the contract jus allow this and the "employer" can't refuse. A friend and I used to promise to act as swap partners to make this happen (he is now following his startup dreams at Nujobs.co.uk)

This is I have found the simplest and best way to say to a client "you are buying services from a company, not just me". It is something I do rarely obviously but with lead time and explanation everyone sees it as a tough but necessary thing to do - IR35 rules don't you know !

Your ability to perform the agency role is as others say a sales function (these guys spend all day everyday cold calling - the bad ones do at least)

But your ability to substitute other developers in for yourself is the key - if you are doing well for a client and they have more work then you are in a great position to "bring in this great developer I know" to help - and suddenly you are not running a single person contractor anymore but a digital agency. This is a lot of work and stress so think carefully - and as a rule of thumb you will need to hire out 8 employees to start making more take home than you do now.

So if you focus on something like substitution, and get the idea you are a company not a hire into the minds of your "employer", and if you build up a marketing presence as a "agency focused on xxx" and if you want to run an Dev shop, then you will find a client who wants to hire a shop for a actual project not just bums on seats.

But I would warn you Brennan Dunn (bdunn on HN) is clear eyed on the costs and stress of running a profitable shop - and that only when you have grown to 8 or so people will you start to see an easier road than just being a bum on a seat.

In short, don't worry about someone capturing the "contractor surplus" - 20% is about average and it's dropping. The guys who who raking in 50% were exploiting you - are you still workin there? See ?

Focus on upping your daily rate for a year whilst building an expertise and audience in a certain fun niche. After this I suggest you may well be in a better position to decide how to jump. If you aren't on 100/hr find a contract where you are. If you are on 100/hr move up to 120. Keep doing this for six months - I was made redundant in 2008 and it took 8 months of hustling every lunchtime to move three contracts and hit 120k/pa (about 200USD). It's doable.