The first thing is to ensure consistency across browsers, so use a valid DOCTYPE - with the Markup you have, I think this one will suit;
Next thing is with those H1 tags.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
For SEO purposes, only include one set if those in a page (the other H tags can be used in any quantity). That being said, you need to make sure that you're using the most appropriate tag for the job and your menu isn't something that needs to be surrounded by the H1 tags - 1, they're telling Google that the menu is the main heading for the web page (which it isn't) and, 2, heading tags come with their own padding/margin so that's why you're having problems with positioning (you're wanting to put your menu to the top of the page but the default H1 padding is pushing it down)
BTW - default H1 tag margin/padding varies in different browsers (as they do on other html elements) so its common practice to zero them out on critical elements and style things yourself to guarentee more pixel-perfect placement. Lots of folk use a global reset like these: http://www.cssreset.com/ (the universal reset is the shortest, although it does cause more work for the browser to apply them all - the Eric Meyer one is the one I like, but adapted to each project)
So remove the H1 tags around the menu links and style your menu with its own dedicated CSS. I suspect that's why you've used the H1 tags - to make the text bigger? Try this, and alter the font-size however you like;