Dass es vorwärts gehen könnte mit dem Sprachkern, d.h. z.B. eine Änderung am Verhalten des "+" Operators, kann man ohnehin vergessen. Es würde ja keines der Milliarden existierenden Scripte mehr laufen. Man müsste dazu eine neue Sprache etablieren.
Dafür gibt es das Attribut language, das mittlerweile, warum auch immer, als deprecated erklärt wurde. Es gab in der Vergangenheit schon einige Änderungen am Sprachkern und -verhalten. Das ist also kein Argument. In HTML ist das nicht anders, da gibt es für alte Sachen den Quirks-Mode.
Die einzige Abhilfe ist wohl, sich solche "Fallen" bewusst zu machen (was wir ja hier tun), und dann einen Programmierstil zu entwickeln und zu pflegen, der diese umgeht, wie eben die grundsätzliche Vermeidung von String- Number- oder gar Boolean-Objekten.
Keine gute Idee. Etwas Schlechtes sollte man nicht mit schlechten Workarounds umgehen. Wenn Du zum Beispiel PHP zum Vergleich heranziehst, da gab es mit der fünften Version eine radikale Änderung beim Objekthandling, was inkompatibel mit alten Skripts ist. In Version 4 gab es etwas ähnliches mit Formularwerten, die nicht mehr als globale Variablen zur Verfügung stehen. Die Entwickler waren mutig genug, diese Schritte im Interesse konsistenter und sicherer Programmierung zu gehen.