I think a combination of both is required for optimal results. Lightning is good enough for micropayments.
On chain transactions are good for large payments. The only problem with on-chain scaling is that keeping a payment history for the entire planet is not really feasable. You have to somehow prune old data from the blockchain.