Yahoo provides a great utility for manipulating feeds called YAHOO pipes. using that application it is possible to create a simple cleaner for poorly formated feeds. I did this recently working with some Associated Press feeds that are invalid. You pretty much just need to send the feed through a pipe. The pipe itself will clean up the feed.
A more involved technique is wrap the feed around script that cleans it up. Depending on how poorly formatted the feed is you might be able to get away with using the [Symfony 2 DOM Crawler or [url=http://querypath.org/]query path](http://symfony.com/doc/current/components/dom_crawler.html) is another good one. Both of those have "some" capacity to load bad XML and clean it up.
However, if the problem is the RSS format itself than there isn't any getting around rebuilding the RSS feed. Which is what Yahoo pipes would be very useful for. Otherwise you will need to do it manually with whatever application language you choose. Of course I just suggested the tools I'm familiar with but surely there are others out there for things like manipulating/parsing XML in other languages.