my rule is follows a few criteria in this rough order (for top two division teams mainly):
1. ensure the person has at least a decent influence (12 or so). It can improve as captain so it doesn't neccessarily have to be 20.
2. ensure the player has good mental stats, particularly in key 'off-the-ball' ones. This includes determination, teamwork, workrate and bravery. Your captain should be a role model for the squad and someone who isn't going to be unsettled easily.
3. make sure the captain is a good, first choice player. There's no point picking a captain if they aren't going to make the squad or if your trying to replace them.
4. check the player's personality. This overlaps a little with 2, but i generally prefer professional, determined, resilient or resolute (or synonyms for these) as opposed to ambitious, balanced, jovial or even loyal.
5. pick a player who has been at the club for a long time, or better yet, is a youth product (ie. Fernando Torres)
6. If there aren't any stand out older players for the role, then pick a younger lad who you feel will be a key to your team over the next decade.
For vice-captain i follow the same guidelines, but if i have a mid to old captain (>27) i certainly pick a younger player as vice, someone who can replace my captain as he gets on in age.