Like anyone who teaches critical thinking, I spend some time on the topic of stereotyping. Like most philosophers (so goes the stereotype at least), my discussion is not informed by empirical research.
Psychological perspectives once defined stereotypes as inaccurate, casting them as rigid (Lippmann, 1922/1991), rationalizations of prejudice (La Piere, 1936), out of touch with reality (Bargh & Chartrand, 1999), or exaggerations based on small “kernels of truth” (Allport, 1954/1979; Table 1). These common definitions are untenable. Almost any belief about almost any group has been considered a stereotype in empirical studies (Jussim, 2012). It is, however, impossible for all beliefs about groups to be inaccurate. This would make it “inaccurate” to believe either that two groups differ or that they do not differ.
Is this just a terminological problem? My informal (read: untutored) sense is that the term might best be limited to those instances of false generalizations about people meant to diminish or otherwise pigeonhole them, on analogy with the way fallacy names are applied. Thus, not all ad hominem scheme arguments are fallacious, but let’s reserve “ad hominem” for those instances which are.