Well i don't think it's city population that is giving your generals bad traits... Apart from the family members i start with at the begginning of a campaign i've yet to get a general who comes of age or is adopted have a single good trait... Or develope any for that matter... Every general after the starting ones are usually dull/uncharismatic/vigorous idiots who eventually just get so many bad traits that i have to send them to retard camp to rot and die. (Fort in which i send all the useless generals)