Best way to do a 301 redirect from non-www to www. in IIS7.5?

I would suggest that you install the URL ReWrite module for IIS 7 to do this for you. You would add a rule that looked soemthing like this

<rule name="Canonical Host Name" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTP_HOST}" negate="true" pattern="somedomain\.com$" />
  </conditions>
  <action type="Redirect" url="http://www.somedomain.com{R:1}" redirectType="Permanent" />
</rule>

See this article for some hints and tips on URL ReWrite.