Dude read.
Free transactions, mean no transaction fees , not free routing.

It's allowed by current Bitcoin protocol, the only problem is majority nodes have default
minrelayfee which is 0.00001
BTC/KB or 0.00001
BTC/1000 weight unit (can't remember which one is right) which makes your transaction without fees won't be relayed at all.
But then the network will be spammed with 0-fee transaction & total unconfirmed transaction will rise quickly.
There are proposals to scale on-chain.
But off-chain is necessary too.
Segwit, schnorr, .. all contribute to better scaling - on chain.
If you are refering to the dumbest possible way to 'scale' - increasing blocksize - then you are wrong because increasing the block size is not scaling, it is postponing the problem.
Off-chain scaling is the most elegant way of allowing a big userbase to enter BTC.
Increasing blocksize is actually the easiest way,
because it require no modifications to the reward design that a Faster Block time would need to maintain the inflation rate.
Any of the three work.
Increase BlockSize
Faster BlockSpeed
Increased compression of TPS per block
Easiest? Yes, if you ignore whole consensus (along with debate, drama, FUD & politic) process. Block size/weight increase shouldn't be used as first resort.
Don't forget the trade-off such as more expensive cost to run full nodes, even though i think RPi 4 (4GB RAM) would still able to run full nodes, as long the increase isn't too big.
Besides, those solutions mentioned by bob123 reduce on-chain transaction which allow higher TPS & meets your 3rd idea you mentioned.