Discogs was my first discovery in getting the regular fields filled in, and has helped a great deal in organizing my library. But going one or two songs at a time have been time consuming, so I've concentrated on filling in info on any new songs I add first.
Next, a great program to fill out BPMs on any track is the free Mixmeister BPM analyzer. It can be done retroactively by dragging songs from the iTunes window into it, as well as before being added to iTunes. Often slower BPMs (those below ~70) can be doubled (140), but they can be easily spotted and adjusted. Having BPMs can help a great deal in dance playlists to maintain tempos from song to song.
Since m4a songs can't have info written on to them like mp3s, I try to avoid adding them to the library. But for m4a songs already there, to calculate BPMs I use a free website, Tap for BPM http://www.all8.com/tools/bpm.htm. Neat tool to add BPM info when Mixmeister can't do it.
For producer credits, I used the Composer field. Again, Discogs is a great place to find this info. Anything that isn't there, I try Allmusic.com, and many times YouTube.
All that info will only get you so far. Tracks can be all the same tempo and genre, but what if you want an all female playlist? What if you want a playlist where all the songs have a piano? Well, the genius of a Smart Playlist in iTunes is that it can search the comments field, which I think is the most important field to use. Here, you can put keywords about the song to help you filter results and make your playlists as good as they can be.
For lyrics, I've been using EvilLyrics, a free program that will look up the lyrics for the song that is currently playing in your iTunes. I usually use it once the song is already added to the library. It is successful about 70% of the time, but for any rare or new song, it's off to Google.
The grouping field is a good way to organize similar songs and artists. For me, I use it for known affiliations or groups the artist is a part of. This can often times to record labels. An example would be all the members of Wu-Tang Clan, so I can connect all their solo projects and affiliate artist/groups into on segment. Stones Throw would be another example.
Here's a few things I label my songs for:
Gender - male, female, duet.
Group/Solo - I go so far as to list them by duo, trio, quartet, etc.
Tempo - Even though BPM is filled out, some 80BPM songs can seem fast and upbeat, so I'll put slowtempo, midtempo, or uptempo in comments to further characterize the feel of a track.
Instruments - I haven't made a playlist with it so far, but I still label as many instruments as I can identify. Other things like autotune, synth, sound effects (rain drops, telephone rings), movie quotes & narration I try to label.
Location - Especially in hip-hop, I like to put a hometown for the artist(s). I'll put Westcoast or Eastcoast as well.
The possibilities are endless. I have playlist currently with nothing but Falsetto singers and songs. I know it can be a daunting task to go through thousands of songs and filling in the blanks, but the ability to customize a playlist is pretty sweet. If only Lastfm could somehow download tags into iTunes, you could automate the whole process. Maybe a site that has all this info I mentioned that can be linked to iTunes is a project I can work on in the future. We'll see.