According to at least one major tradition, Yishma'el repented later in his life. Gen. 25:9 says that after Avraham died, "Yitzchak and Yishmael his sons buried him ..." According to Genesis Rabba as quoted by Rashi there, the order indicates that Yishma'el repented, as he recognized the precedence due his younger but covenentally endowed brother.
For some reason, despite the great R' Yishma'el being so named, the practice of using the name Yishma'el seems to have fallen out of widespread Jewish practice. This might have to do with more recent conflicts with Muslim nations and groups.
My high school principal told us a cute thing about R' Yishm'ael and his namesake. I don't remember all of it, but I'll repeat what I can reconstruct. R' Yishma'el compiled 13 Rules to be used for inferring laws from the words of the Torah. The fourth and fifth of these are inverse of each other:
4) Kelal Uperat / General then Specific - If a verse contains a general rule followed by a specific example, the general rule is taken to only apply to the case described by the example.
5) Perat Ukelal / Specific then General - If a verse describes examples followed by a general rule, the rule is taken to apply in general.
These two types of verses look the same except for the order of the elements. One might wonder whether we can really take into account the order of elements in this way. According to R' Yishma'el's tradition, we can and do, at least when the elements are within a single verse.
And this works well for R' Yishma'el himself, since the appropriateness of his name is dependent on the fact that his namesake repented, which we derive based on the ordering within a verse of his brother's name and his own. If the order wasn't significant, we couldn't make such an inference.
Yeah, we don't name after bad people, unless the name means something nice. (This is on a Rabbi Frand tape.) There are plenty of "Avshalom"s out there today -- while the Biblical Avshalom who committed treason against his father King David wasn't a nice guy, the name -- "father (cause) of peace" is nice.
Contrast with a name like "Do'eg", which is both a Biblical baddie, and means "worry."
I think the Chida addresses these issues as well, in (appropriately enough) "Shem haGedolim." It is also interesting that, as far as I know, none of the rabbis in the Mishna/Talmud are named Moshe. In the larger world, of course names go in and out of style, but this is even more so in the Jewish world, where we have strong traditions of naming after relatives (deceased or living, according to your minhagim), so once you hit a critical mass of tzaddikim with a certain name, it can become extremely popular. Similarly, once a name disappears from the population at large, it can be very difficult to revive.
Regarding using a wicked person's name, the Ri seems to hold that it is permissible give someone the same name as a wicked person, so long as that name historically did not uniquely belong to wicked people or to a single wicked person.
The gemara (Shabbos 12b) cites a teaching in the name of Shevna Ish Yerushalayim. Tosafos (ad loc.) write:
Possibly, according to the Ri, a name is acceptable if it is not unique to a single wicked person, even if multiple wicked people shared that name.
However, the Ri might not consider "Shevna the scribe" to have been wicked. This is supported by Tosafos' characterization of the "יש מפרשים" (Yoma 38b, s.v. d'lo maskei bishmaihu) as considering Shevna the scribe to be righteous. If so, it is possible that the Ri would consider a name that was known only to be given to wicked people to be unacceptable.
The principle that is the subject of disagreement between Rabbeinu Tam and the Ri seems to apply to naming people, as well.
3 Interestingly, the prevalent printed version of Sotah names Hillel's brother as Shevna. Tosafos on Yoma (38b) might be read to indicate that Rabbeinu Tam was also responsible for the emendation of "Shevna" to "Shachna" in Sotah (ibid.)
4 Rhetorical question
5 The verse here is paraphrased and slightly different than the text in Isaiah
6 Tosafos elsewhere (K'suvos 104b, s.v. sh'nei; Yoma 38b, s.v. d'lo maskei bishmaihu) argue that Shevna is the same person in both instances and bring evidence for this from Sanhedrin 26a
The name Korach (which is the name of one of Eisav's children) is stated as one of the reasons Korach (the one who rebelled againt Moshe) did what he did. Therefore, naming a child after him would definitely be a bad idea.