I've used a system like RamyenHead's since I was a was graduate student in the 1970s, and it hasn't failed me yet. The key has three parts: author(s), year, and title. In the author part, capitalize the first letters of names. Use the first three letters of the primary author's last name, followed by the first letter of the author's first name. If there are multiple authors, add the first letters of the other authors' last names in the sequence they are listed on the publication. Then add the last two digits of the year of publication followed by the first non-trivial letter in the title, capitalized.
Thus, we'd have KnuD85T for the Knuth book and KerBP76S for
Kernighan, Brian W., and P. J. Plauger. 1976. Software Tools. Addison-Wesley.
This system takes care of almost all multiple publications in a single year, authors with the same last name, etc., it does not depend on the order in which references are added to the repository, and yet the key itself contains a good deal of info about the reference.