A few things...
First, I'm not sure what the compatibility of Drupal 8 has to do with this. Remember that Drupal 7 will be the main version of Drupal in use for at least another two years. Version upgrades are such a big deal in Drupal, it isn't even expected for there to be an upgrade path for D7 -> D8 within the first year of D8. So whatever you do for a Drupal 7 site should be maintainable for at least two years. More likely you will stick with D7 until D9 comes out 4-5 years from now.
As for the question at hand...
CSS - this is the easy one. Many ways to handle this, but you can block stylesheets from loading just by including an empty file with the same name in your theme. A simple function in your template.php can also block system CSS. Friendly Machine recently published a nice list of stylesheets to block
[
drupal.org...]
[
friendlymachine.net...]
As for the HTML, you'll need to handle this on a few levels and it will require either modules, reset themes and/or lots of work.
The classic reset theme is Mothership by MortenDK who is Drupal's crusader agains "divitis" and alleges in his standard talk that 30% of all divs on the web are caused by Drupal.
There are other minimal themes that reset lots of the system HTML.
Then you can get control over
- Content with Fences or Display Suite
- Views with Semantic Views
- Panels with Semantic Panels
After that, it starts to get real hard!