> A native app is already lost at the start because it requires the user to install it
The billions of installed apps indicates that the friction isn't significant.
> I don't buy the efficiency argument at all, Java and JavaScript are both JITed
That's how everything worked back in the Gingerbread days. Android's ART system compiles applications to native code when they are installed. You can also install actual native code with Android's NDK.
If you like the idea of asm.js, then you should check out Go on Android. It does the same thing - offers a restricted set of the language that runs very fast.
There's definitely a subset of apps that work very well in a browser. But you can do more, faster, with lower power consumption with native apps.