Problema com alinhamento de colunas em tabelas distintas

Bem é o seguinte vou tentar explicar meu problema…
Tenho uma grid no sistema onde ela pode ou não ter barra de rolagem… porem o cliente quer que o cabeçalho fique fixo enquanto a base onde fiquem os registros tenham ou não esta barra de rolagem… para isto o cabeçalho e o corpo da grid (onde ficam os registros) são separados em <divs> diferentes isto proporciona que o cabeçalho fique fixo e o corpo dela possa ter a barra de rolagem vertical… meu problema é que as colunas do corpo dela ficam desalinhadas com as colunas do cabeçalho dela… a 4 tipo de alinhamento distintos: para o FireFox com a barra de rolagem, FireFox sem barra, IE com barra e IE sem barra… como isto é em varias telas preciso criar um componente que gere estas grids de forma dinamica… porem o empecilho e em gerar os tamanhos de largura de maneira correta a cada coluna da tabela base para alinhar com a tabela de cabeçalho para cada caso em questão… meu problema é mais matematico no caso… alguem conhece alguma formula de balanceamento para isto???