I'm more in particular with online communities such as forums, but offline ones like clubs and meetups could apply as well. In this case what I mean by self-selection is when the effects of self-selection start to narrow down the band from the potentially larger group that the community is aimed for.
For example, take a forum that advertises itself as a community for fans on X type of fiction. Over time, it eventually starts to coalesce into more and more people that are fans of X fiction that are in particular big fans of Y in X fiction, or have a big hatred for Z in X fiction. And these sub-groups are over-represented, and not very accurate representation of X fiction fanbase as a whole. It usually creates a runaway effect that those going against the grain will be shunned and not feel welcome and leave the community, thus adding to the homogeneity of the community. Despite this, the community still neutrally presents its description as "for fans of X fiction" but its active member base has a more specific slant.
So how would you solve or prevent this problem? I've seen it happen many times in online communities I've been a part of in the past. I'm not planning to build an online forum/social site, but it's just a question I'd really like to ask.
What I suspect you're after is merely a social forum setting where particular subcultures don't become a hegemonic monoculture. You can't really 'fix' that per se, but you can provide greater opportunity for social forking within a forum. Provide users more autonomy within the forum to create their own aligned but separate spaces, and you are more likely to provide space for this holistic community that you're after.