I assume your 301 redirects are to map the old URLs to the new SharePoint-based URLs. That is the best way of doing it - you are telling the search engine that the content has permanently moved to the new URL. You will also redirect users who have come to your site using bookmarks or out-of-date links.
However, you shouldn't need to develop an HTTP Module for this. Microsoft have an add-on for IIS7 called URL Rewrite that does the job. There is also a third-party module called urlrewriter.net. Both of these support redirects as well as rewrites, and are very flexible to configure.
Speaking of rewrites, which you didn't mention - avoid resorting to these if you possibly can. Certainly don't use this kind of technique for SEO reasons.
There is a lot of nonsense talked about SharePoint's URL structure. The fact is that current search engines are good at getting keywords from URLs, and won't penalize your pages because they have /Pages/ in the URL or end with .aspx. They are also good at getting content from your web pages - as long as it is there in the first place! The same principles apply to SharePoint sites as to any other WCM platform, such as using HTML header tags properly, using hyphens to separate words, and so on. You can also use tools like Google Webmaster Tools to see how Google is indexing your site, and any problems they encounter. Most of these issues will be fixable, although not all of these will justify the effort.
In summary, design your site in a way that makes sense for the content and the SharePoint publishing model. Don't waste time trying to make it do SEO tricks to game the search engines.