Programming spans a lot of orders of magnitude. If you're writing code for a multi-hundred system cluster, then by all means consider energy consumption. But it's also easy to spend hours, days, weeks to save a net total of several milligrams of CO2, because your program won't even spend as long in its total life time executing as you spent writing it, in which case the costs of execution are actually less that the development.
Once again, you could just use a language where they do this for you in the runtime instead of trying to reinvent (probably poorly) these ideas yourself.
You're right in that not running the workload if possible is the best power savings but if you can't do that moving it to more efficient usage is a good way to make large inroads on power usage.
Also the twice as fast therefore using twice less power is wrong.
But you'd be wrong about your speed guesses. Ada/Spark and Fortran can be incredibly fast. Much of the world's fastest numerical code is written in Fortran, for example. (OCaml can be super quick too, though it can take a bit of care, and I get the feeling they've fallen behind in compiler tech in recent years.)