Devem evitar-se ao máximo os CSS hacks, não sou perito em CSS e nunca usei nenhum hack e as minhas páginas aparecem perfeitas nos 4 maiores browsers (excepto IE6, que fica com algum desalinhamento).
» Deve-se usar é a notação correcta de CSS, HTML ou XHTML (não aldrabar nos tags nem nos selectores e classes).
» Usar os DOCTYPES correctos para que o browser saiba qual é a versão do HTML ou XHTML em uso e fazer o render de forma adequada.
» Nunca se devem usar (ou evitar usar) coisas que são especificas de um browser, pois obviamente não vão funcionar nos outros browsers.
Normalmente faço todo o desevolvimento usando o IE8, e no final faço a verificação nos outros browers e 99% das vezes fica correcto em todos eles, usando apenas as regras mencionadas acima.