A method I've used before, which I garnered from the original Rogues Gallery ( a chart in the back had numerous NPC stat and you could roll random on it), was to roll 4d6 heaps of times and generate a d20 table. I originally used this for making NPC's on the fly, after a few years I had several random tables of NPC stats, as well as I believe it was a d8 to determine class, which you then rolled on the appropriate class table for the stats.
Later I used the same method for pre-rolled, fleshed out PC's, and had the player's roll random from 20 choices, first they rolled highest die to see who picked first, then they got two rolls each to choose from the list. This is a good exercise, encouraging variety of roleplay, as well as one might end up with a type of character they would not normally play ( thus the 2 choices so someone doesn't get stuck with something they really don't want to play).
You could do the same thing with just the ability scores, roll and consult a chart for ability scores, ( even go so far as to have one chart per class)