I know that CLN have by default MPP. LND don't, so the user have to choose manually MPP depending on the wallet app they use.
I think MPP should be by default in whatever LN implementation.
Also a protocol that first will check those channels with more balance to be used to forward a payment and next based on fee.
If I have a payment of 100k sats and
  • a ch of 5M sats in total and with 4M sats on my side and fee 100ppm
  • a ch of 4M sats in total and with 10k sats on my side and a fee of 10ppm the actual behavior is to take the channel with lowest fee, but then it will fail because I do not have enough balance.
So the whole path finding is ruined. Instead if the protocol will see first where I have more balance and choose that path and from those channels with higher balance than the amount of payment, to choose the one is cheaper.
In this way we will have better path finding and less failed routing, efficiency in using channels.
That's a very naive approach :)