The System Services menu is dynamically built via application advertisement of NSServices. All applications (interested in using System Services) register there services (handled document types, and services) at runtime via NSServices dictionary key entries found in their respective info.plist file. Each time a user logs in, a list of available services is updated from the "/Applications" and /Library/Services" folders of all four file-system domains. The mechanism used is a message, calling applicationDidFinishLaunching: application delegate method (or equivalent) with NSApplication's setServicesProvider: method.
The littered services in your Services menu are most likely remnants in the LSxxx preference files (LSApplications, LSClaimedTypes, and LSSchemes) of former applications that once resided on your system. I can't confirm this as I have no littered services in my Services menu. I was able to confirm the dynamic nature of the Services menu updates by simply removing an app out of the default /Application folder and logging out/in. The Service menu then reflects the missing application service after login. LSxxx preferences trio is modified at login (the repository for Applications Services? I don't know the data format of these preferences files, do you? It would be interesting to know as this holds all the NSWorkspace parameters for interapplication object messaging in Cocoa).
What do you think? Would it be worth deleting/renaming your LSxxx prefs to find out?