I think the consequences of using NoScript outweigh the benefits. I don't think I could stand 40% of the sites I use being unusable due to lack of JavaScript, that's not how it's meant to be.
If the site doesn't work, you can enable scripts one by one until it does. Usually you just have to allow scripts from the domain you're visiting, and you can prevent most abuses that use third party scripts that way.
Occasionally you'll run across a site that has scripts from 30-odd domains, and after enabling a few, it still doesn't work. Those sites aren't worth visiting.
But NoScript gives you the degree of control you want. It's possible to enable all scripts by default, disabling them only when you feel there is a problem. Or you can use it for information purposes only, so you know what third party domains have scripts running on that page.
I'd rather say it's a lack of resources and interest in addressing a minority and jumping through hoops to make functionality that wouldn't work without JavaScript work without it. I'm not saying it shouldn't work when JavaScript is disabled, but some sites have functionality that cannot be easily (or quickly) reproduced without JS. They don't do it because they hate you or because they hate proper user experience.
The problem is not the minority you are thinking of: most of that minority can enable JavaScript if it's genuinely required.
The problem is people on poor or mobile connections - the majority - who have to suffer that little bit longer to wait for the blocking JavaScript to load and then burn down their limited battery for the sake of parallax scrolling or a marginally prettier icon or button on the static text site they are trying to read.
JavaScript-requiring designers do hate proper user experience.
Occasionally you'll run across a site that has scripts from 30-odd domains, and after enabling a few, it still doesn't work. Those sites aren't worth visiting.
But NoScript gives you the degree of control you want. It's possible to enable all scripts by default, disabling them only when you feel there is a problem. Or you can use it for information purposes only, so you know what third party domains have scripts running on that page.