I was finding that I had far too many songs in my library with ratings from 3 to 5 stars, and that I had virtually no songs at the 1 or 2 star rating. So, I hacked up this script which will take all songs in the current playlist and knock them down by one star. As well, the script will keep single-star songs at one star, so they don't become unrated, and will not loop unrated songs over to 5 stars.
tell application "iTunes"
set currentList to view of front window
set rating_change to 20
repeat with curTrack in (get every track of currentList)
if rating of curTrack is greater than rating_change then
set rating of curTrack to (rating of curTrack) - rating_change
end if
end repeat
end tell
[robg adds: I haven't tested this one.]
Mac OS X Hints
http://hints.macworld.com/article.php?story=20050106211746170