For me, each launch gets named with a unique mission identifier that's independent of lifter and payload that's composed of the launch site, target planet, number of the target satellite (which is omitted if not visiting a moon), and mission purpose. The three letter code then has the launch number appended to the end. In the case of a sub-mission, like a lunar landing by a detached craft, a suffix letter is added to the end of the launch number and is treated as a separate mission for it's duration. Big projects also get a 'common name' with a number designation. For example, UK1X-28 Pioneer 3 means Launch Site 1 (KSC-1), Planet Kerbin, Moon #1, Experimental - Total Launch #28, Pioneer Project Launch #3. Lifter and payloads are also coded with Model/Revision and a common name, and everything is all neatly placed into a log file with mission reports. The whole thing sounds like a nightmare but it's really not that bad. Or at least that's what I keep telling myself that.