How do you prevent an iPod Classic (and other iPods) from losing ratings on sync
Im not sure this is default behavior. I use stars and smart playlists to actually help manage things (smart playlist to delete songs, and then rate things with 5 stars that need to be 'processed'). I sync usually once a week, and it always syncs these changes back and forth. 

Its supposed to sync all the songs in recently played to update their metadata (like playcounts) as well. Maybe if you don't sync for months, that playlist doesn't show everything, and therefore looses some of your ratings?