From what I understand Gmail doesn\'t accept CSS blocks in the head at all, which is why I have been adding a bunch of inline CSS to my email template to make it work.
Sadly, I suspect you may have to abandon your perfectly reasonable ideas of divs and positioning when designing for email. CSS support in email clients is a tangled nightmare.
The only (relatively) surefire way of forcing layout on email is to go with an old school tables layout, which is unfortunate, but unavoidable.
Campaign Monitor has an excellent summary of email client CSS support here.