I have two methods I'm reasonably happy with. One involves choosing ability scores (half even, half odd; no three alike, total bonuses equal the same number for everyone). The other involves rolling 4d6 drop low in order, with some houserules to avoid wild variances in competency/survivability (two or more 1s, re-roll the 1s once; re-roll the set if you don't have at least one 16+ and at least one other 15+; swap any two scores; choose variant human or use the "fantasy species" rules--floating +2, +1, or floating +1, +1, +1).