As you say "You're either an employee. Or you're not.". There is no "caught in the middle".
IT employees typically have extended notice periods, paid holidays, they often get full pay during periods of sickness, are entitled to maternity pay, have grievance procedures, union support, often there are counselling services, private medical benefits, dental insurance etc. To support those employees corporations need to provide HR functions, payroll, work space, tools etc. The cost of an employee is as much as 2.5 times their annual salary.
Contractors generally get none of the above, but can receive a higher level of income as a result. They can often be dismissed at a moments notice without compensation. They have to charge VAT and may have to wait to have their invoices paid. They take the risk that the agency or client will make the payment and have no protection if they do not.
There's a clear differentiation between contractors and permanent employees, and IR35 is simply a tax grab by a bully government, introduced at a time when the government was transferring to using major consultancies for IT services, who I assume drove the legislation in the first place in an effort to prevent the mass exodus of their often poorly treated employees.
IR35 has never really generated much in the way of revenue. It's a pointless tax designed in a world of large multi-national corporations to suppress entrepreneurs. A relic, like the Iraq war, of the worst excesses of Blairism.
The solution is simple enough. If you're a contractor and the client offers you a contract inside of IR35, turn it down and recommend they hire an employee. They'll soon change their contract terms. This is especially the case with HM government by the way.