Simpler solution
Why can't IE8 simply recognise that a web site is not standards compliant, and then switch into 'compatibily mode' automatically? It could display an embarrassing warning to the user that should encourage website authors to fix things.