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.