Captive portals suck, I agree.
However, isn't it a better trade-off to have a network password? Even something trivial like "123456" that isn't hard to spell for guests who may speak a different language?
It does add a small amount of friction, but network passwords can be embedded in a QR code (unlike captive portal passwords) so at least it should work for mobile devices.