I completely agree with your frustration, but even inside the a "sane block" the are cases where you'll need the existing behavior, and backwards compatibility... Ugh.
Almost easier to make completely new keywords that allow you to designate where a special-scope begins and a "this"-like keyword that behaves a little differently.
Let me write `'use sanity;'` at the top of a function (like `'use strict';`) and then let me use sane lexically scoped semantics.