You could always go with names that fit the personality in some way if desired and play on those, choosing the more uncommon ones that sound interesting. Biblical names can always be interesting. Kain / Cain for example is always a strong name for an important usually questionable character. Failing those you can always jump onto more common names, Michael, Richard etc. if they sound good for the period the story is set in. If a hundred + years ago names like Beatrix and Elizabeth etc. are more common place and such names sound great.
Or you could use names from other langauges and cultures, Vincent for example is a name I love which I believe is more French? It sounds great anyway for a character name in whatever it is used in.
As silly as they are some RPG names work really well for example Squall and Cloud, both names relating to weather somehow work with the characters and doesn't sound out of place as well.
It all really depends on the story and which sort of seem to work together. The only problem when writing the names really is to make sure they work with each other well, and no character sticks out when they shouldn't. For example Kain will always be strong name and will always stand out, so using it for a character you want to stand out would be the best bet, and not give it to just a random minor character in case it drags the readers attention to it by accident when not desired.
Of course I tend to suck at names as well, but I usually choose from the selection of names that 'fit' the character, in terms of something more servant based for a waitress etc. while I give something more dignified for a knight etc. I usually end up using the easy names like Lance for such things as that is another name along with Beatrix, Kain and Vincent which enjoy staying around my mind when thinking of names.