Zweierlei:

1. html und css teilen sich die class Namen? Na und? Wenn man konsequent vorgeht und im html nur semantische Bezeichner verwendet (keinerlei Präsentations-Auszeichnungen im html, also auch keine Präsentations-orientierten class Namen), dann bedeutet das weder für die Semantik noch für die Klassen einen Verlust oder eine Einschränkung. Und verwenden kann man diese Klassen im css immer noch, ebenfalls ohne Einschränkung. Es ist einfach eine Frage der Konsequenz.

2. Das mit den Namespaces ist interessant. Aber dafür *- zu verwenden finde ich nicht gut. Wie Namespace Prefixes auszusehen haben, dafür gibt es Spezifikationen beim w3c. Ansonsten fügen Namespaces zwar Aufwand hinzu, aber es lohnt sich. Der Gewinn an Flexibilität und Eindeutigkeit gleicht den Mehraufwand mehr als aus.