It would be good to be able to only trust CAs with some TLDs. That would limit the harm for adding a geographically useful CA to only a certain segment of the internet.
One of the problems with domain restrictions on CAs is that real world geography has turned out to not correlate with domain name 'geography' for general use. Organizations located in a country (or the EU or etc) will register their domains all over, instead of nicely restricting themselves to something under a single TLD or a small number of them, where they could use a restricted-scope CA. This mostly leaves you with organizational CAs, such as government ones (for the government's sites), and they seem to not have been too popular in practice.
The ability exists. Such constraints aren't used very often for root certificates though, as far as I can tell. The Japanese Government CA which was mentioned in the discussions around TrustCor was constrained to .go.jp.
It needs to be supported in the clients, both browsers and libraries. I'm actually mad that scope restrictions are not more commonly used, and that tooling is absurdly complicated.
It would be useful for internal CAs too, because they could be trusted for only a specific subdomain, eg *.intranet.acme.com.
Regarding backdating: isn't there a thing like a log that cannot be fudged with? I.e. if you issue a cert now with date y - 1, it needs to be on the log at y - 1. Which will invalidate al l entries after that. Like a hashlist (I don't want to say the other word)
In theory Firefox in the linked thread did exactly that: They said TrustCor has X number of days to reply to allegations. It sounds like you're proposing a technical solution to a offline solution that already exist.
a sketchy CA should not be given the benefit of the doubt. and customers of sketchy CA should suffer for not doing their homework and should rightly scramble to secure certs from other providers to resume their business.
the only sin of kernel/distro maintainers is not dropping those CAs faster.
what browsers did is the ultimate sin of sacrificing users to not be blamed by something they are fixing under the guise of backward compatibility.