As far as pure on-chain scaling is concerned, I'm afraid that's all there is to it.
You could increase blocksize and solely rely on pruned nodes, but that would weaken Bitcoin security and only solve part of the node resource problem. You could look into sidechains, but then you are by definition off-chain again. You could also move away from blockchains and look into alternatives such as directed acyclic graphs, but those protocols come with issues of their own.
With regard to the bolded, that is pretty much what I suspected. As for DAG's, that is a tangential conversation but I am very interested in that technology and see it as being a potential scaling solution in the crypto space at large.
I should preface this by emphasizing: On-chain scaling is and always will be a very limited proposition. This is an engineering reality, not a matter of opinion in the sense most people mean that word. At best, we will see incremental, linear improvements to on-chain capacity. Thats not enough, and never will be. I think big. I want for Bitcoin to compete with Visa; and that will require a transactions-per-second capacity increase of about four orders of magnitude. Adding layers vertically (Lightning Network) and horizontally (sidechains) will truly turn Bitcoin into the foundation of a global payment internetwork which will leave Visa in the dust.
Great post, I appreciate the response. Again, regarding the bolded, this is what worries me. The white paper refers to bitcoin as peer to peer cash, we have all believed in bitcoin as a currency from the get go. If the only way to utilize bitcoin to buy a cup of coffee is to go off-chain, then would you really be using bitcoin?
I really want to keep this discussion as technically oriented as possible, but I feel like it will be impossible to ignore the branding implications of technical obstacles. For example I see a couple scenarios that lead to widespread bitcoin adoption as a consumer payment solution.
A) Off-chain scaling solutions are implemented and branded under the umbrella of the bitcoin name. The consumer is unable to distinguish the layer they are transacting on, and off-chain/on-chain boundaries are blurred from the perspective of the masses.
B) Massive protocol alteration, where some paradigm shift is implemented that allows an exponentially increased on-chain capacity. This has a host of branding issues due to violating the "code is law" mentality.
I'm sure this idea has probably already been brought up and shot down so please forgive my noob idea. Would it be possible archive the blockchain every few years? By this I mean take a snap shot of all wallet balances removing the transaction history and greatly compressing the data, this would become the starting point of transaction verification for the next few years and the archive (which would contain the full transaction history over the past few years) could be distributed by archive nodes. The archive nodes would not be necessary to validate new transactions so someone could run a "full" node without the archive. You wouldn't need as many archive nodes as full nodes and even if the archives become several TB in size there would still be people willing to provide the storage necessary to secure bitcoin.
The issue, as noted by nullius above, is FAR less about the size of the static blockchain, and more about its rate of growth. Any time you increase its rate of growth, either through more frequent blocks of the same size, or through the existing block production rate but larger blocks, you are placing a burden on the nodes by requiring greater bandwidth, and increase in the RAM and CPU requirements. It also has negative affects on the mining process in the form of an increased orphan rate.