Wrong way round. Captive portals need to provide a better user experience for browsers that doesn't involve an MITM! See 802.11u: no excuse for not using it.
Excuses for not using 802.11u it do exist: client support simply isn't there. iOS only supports it since 7, Android doesn't support it (and will not generally for many years even if Android L does include it), Windows doesn't support it generally, OS X doesn't appear to have support for it, the list probably goes on. It will take 5 years at minimum before hotspot owners will provide this functionality, as there needs to be major client adoption first.
Just because your solution is problematic doesn't however mean that your point is not correct. The problem here is indeed with captive portals.