Probably just keep everything inheriting from Common.
I'm not sure what you're currently planning to inherit from Site N Data to All Sites GUI (Views? Named Queries?), but most likely it's something that you can put in Common and use parametrization to be able to use the Site A, B, or C version.
Something like the below:
EDIT: The multiple inheritance issue has come up multiple times before, with a couple of different workarounds depending on the situation, so here's another workaround:
So you could also try some chain of Common -> A -> B (now AB) -> C (now ABC) -> All Sites and have some unnecessary resources floating around in your B and C that only exist to be inherited by your All Sites.