Try MusicBrainz tagger
http://musicbrainz.org/ . It uses accoustic fingerprints which means the file name and tag data can be completely wrong and it will still organise it for you.
It is completely free. I've used it on huge collections of recovered files and found it fairly effective, finds perhaps 80% of the songs.