I think what is needed is a series of more specific alternate names in a .desktop file, with more levels than the current GenericName and Name.
By default, applications get the simplest name. If there is a collision, *both* get promoted to the next most specific name. E.g. you might have name1=Image Viewer name2=Image Viewer (kview) name3=Image Viewer (kview 3.5.9) while another application might have name1=Image Viewer name2=Image Viewer (xv) name3=Image Viewer (xv 3.10a) So if you only have one application of a particular type installed, you get the simple generic name. If you have multiples, you get to choose between Amarok, Clementine, Rhythmbox, Banshee, Gudyadequ, alsaplayer, etc. In the current dispute, it would be "System Settings (KDE)" and "System Settings (Gnome)". A user would only see the disambiguation suffix if they had both installed. You might even, as in the example I gave, include the version number so you can install multiple versions at once. (The overdesigner in me is thinking of an alternate menu implementation that uses the collising name as a submenu name, and the more specific names an entries below that, but maybe KISS is more appropriate here. Certainly even a design that *allows* such a thing should also allow not bothering.) This nicely avoids trying to divide desktops into "primarily Gnome" or "primarily KDE" to decide who gets the generic name. The answer is that nobody does. If I share an office with Joe Bloggs and Joe Shmoe, then I'm going to use their more specific names to refer to *both* of them. One naming suggestion I'd make would be that a pre-beta piece of software should probably avoid using the fully generic name, until it's stable and feature-complete enough to be the only such tool on a non-technical user's system.