I think you are mistaking physical scalability and “the amount of transactions that can be processed per second”. I am mostly talking about the former. As long as every node gets hit by every transaction, it doesn’t matter what band-aid you apply to make it faster, it still doesn’t scale globally.
So yes, there are two solutions: segment the network (and lose security), or go off-chain, as is the case with the state channels and plasma.
Those have network scalability issues of their own: remember the Lightning DDoS last year? And Plasma “enables 1–10 million users per application”. Yay? That’s the amount of transactions Visa processes per hour.
They also have a set of other issues. E.g., you bind a certain amount of money from the main network in the channel, because you might need to use it. Also, the “micro-transactions” on the channels are not secured by the chain until the commit (or default), so I am pretty sure the side-channels will have fraud.
Though it would be almost funnier if they didn’t. Because if they don’t… what do you need the main chain for, exactly?
Merkle trees are also great, but won’t save you. They are great to verify things given minimal information — but do not save you from actually having to have the data that you need to process. So, yes, great for a light client, but he still needs to ask a full client to find out how much cash he owns.
So… I call that “calling out by not reading the article”.