What regular employees fail to realise is that employment and freelance are very different creatures. The opening shot that any freelancer hears from an agent is "Are you available?". Effectively that means "Are you currently out of contract?". The Agent has a need for someone who can start immediately where "immediate" might even be "today", possibly "tomorrow" and almost certainly no later than "next Monday" because that's what the client is asking for. Almost invariably* that means someone who is currently out of contract and whoever is currently out of contract will have been out of contract for some time; in slack periods that might run into several months. Providing the immediate availability that the client needs is a cost the freelancer's company has to cover.
Now you might argue that the clients should manage their staffing levels better than to have such short notice requirements. But a typical IT department will have a fairly predictable BAU workload mixed with project work that gets dumped on it at short notice. A manager will have to meet this demand with a permanent staff which isn't entirely predictable: people leave, take holidays, get sick, get pregnant and even die. If the business aims to cover the average situation it will risk having to defer some work to slack periods and thus lose opportunities that might have otherwise have been taken. If it aims to cover the worst case it will risk ending up with people being under-employed for most of the time.
In fact an optimum staffing strategy is one that allows them to maintain a staff level somewhere around or maybe below the average level and top up with a flexible element when that's needed. In addition they may also need a flexible element to provide scarce skills for which they have an occasional need. The timescales for acquiring and disposing of directly employed staff don't provide for this flexibility. It needs to be able to off-load the risks involved in trying to accomplish its requirements with only permanent employees.
Whoever makes up the difference is taking on the risk and it's this risk, taken by whoever does the outsourcing, which is the difference between employment and business. If the outsourcing is done by the likes of IBM or Capita nobody even thinks of denying that they're businesses and that they should be treated as such. But if the outsourcing is done by one or several freelancers what, apart from scale, is the difference between them and the IBMs and Capitas? Nothing. They're operating as businesses and not as employees. As such their tax regime should be that of businesses.
*Only once in 10 years I was called on the last Thursday of a contract to be available to meet the client the following Monday with a view to the contract's starting on the Tuesday. That was to enable a less than 2 week hand-over from a permanent sysadmin/DBA who was leaving.