You could try to increase the top padding using EMs rather than pixels. EMs allow the use of decimal points.
It remains a matter of trial and error.
line-height only work for a single lien of text.
I just add an extra bit of top-padding to visually vertically center text in a <div>.
You could also use display: table-cell; but I can't remember wich versions of IE that is not supported in, 6 and 7 certainly not, maybe 8 and I think thereafter yes