Block size, for example are necessary to be changed because they cannot fulfill the objectives of Bitcoin and remain scalable.
Why? You don't need bigger blocks, to confirm more transactions. You need more non-interactive cut-through instead, where "Alice -> Bob" transaction, and "Bob -> Charlie" transaction, will be combined by miners, and confirmed as "Alice -> Charlie" joined transaction.
Don't you think this combined transaction will occupy comparable amount of block space? It might have the same amount of computational and network data cost. You still need to propagate and verify the transaction signed by Bob. It's a hidden cost.