When are we going to get over the idea of turning off javascript? No one asks "why doesn't my Java app run properly when I turn off the JVM?" I would argue that the open web is getting to that point with javascript.
JS is an open standard, highly performant, and implemented well by almost every single browser out there. The only people I know who regularly browse without JS are old-timers who got into the habit 10 years ago, before Spidermonkey, V8, Nitro, JavascriptCore etc. revolutionized performance, and before AJAX revolutionized architectures.
Let me propose a different way of looking at things. The concerns you actually expressed are performance, download size, and CLI browser compatibility.
Performance - I don't know of a reason that javascript apps cannot be performant enough, even on low-bandwidth connections. AJAX was invented to improve performance over static websites, by reducing network traffic to just the bits that change with each user action.
Download size - Javascript obviously has nothing to do with how many images or videos a site embeds.
CLI browser - Why can't the CLI browsers implement a javascript engine, and then render the results, just like any other browser? There is nothing about JS that requires a GUI.
W.r.t. "old-timers who got into the habit 10 years ago". A decade ago I was 11. Not exactly an old-timer.
W.r.t. performance, in an ideal world, you'd be absolutely right. But this is not an ideal world. There are far too many websites that are substantially less performant with JS. (Case in point: Gmail.). There are far too many websites that kill my battery life on my laptop via sloppy coding. There are far too many websites that don't stop downloading in the background to refresh things that I don't need refreshed, and in the process kill my bandwidth cap on my home connection. There are far too many websites that take multiple seconds before they even begin to render, because they are waiting on some library to load before they parse things clientside. Looking at you, client-side markdown. There are far too many websites that are less responsive on the "responsive" version with JS than with the fallback without JS.
W.r.t. download size, again, in an ideal world, you'd be absolutely right. But this is, again, not an ideal world. There are far too many websites that pull down multiple MB of libraries before they even start to load. Sometimes they are cached, but far too often they aren't. There are far too many websites, again, that refresh things that I don't need refreshed and as such continue to use bandwidth.
And you're missing two other things: the two concerns that I consider most important. One is security. The majority of browser exploits require JS, especially the nastier ones. As you say, JS engines focus heavily on performance. And trying to get high performance out of a JITted language goes intrinsically against security. For a certain amount of dev time, you can get decent security and decent performance, great performance and weak security, or great security and weak performance. It's an intrinsic trade-off. (The other one is user tracking, but I'm not going to get into that one here.)
And one other thing: with JS disabled, most of the time if a webpage is loaded it's actually loaded. I can keep it up and sit in a bus or something and read it, without an internet connection. With JS enabled, far too many websites end up breaking nastily some time down the line when they go to update something and fail. Again: not an intrinsic, but something far too many websites do anyways.
JS is an open standard, highly performant, and implemented well by almost every single browser out there. The only people I know who regularly browse without JS are old-timers who got into the habit 10 years ago, before Spidermonkey, V8, Nitro, JavascriptCore etc. revolutionized performance, and before AJAX revolutionized architectures.
Let me propose a different way of looking at things. The concerns you actually expressed are performance, download size, and CLI browser compatibility.
Performance - I don't know of a reason that javascript apps cannot be performant enough, even on low-bandwidth connections. AJAX was invented to improve performance over static websites, by reducing network traffic to just the bits that change with each user action.
Download size - Javascript obviously has nothing to do with how many images or videos a site embeds.
CLI browser - Why can't the CLI browsers implement a javascript engine, and then render the results, just like any other browser? There is nothing about JS that requires a GUI.
edit- speling