I think a big problem here is the scaling of online communities(there was a great article out on this a couple years ago). As homogeneous online communities grow their perceived quality goes down in part due to relatively heterogeneous members disrupting the signal to noise ratio. Sites like facebook(and I assume even reddit) get around this scaling problem by partitioning members off into homogeneous sets. This problem is related to the fact that there is a dialogue happening. Dialogues within heterogeneous populations degrades into culture war. So partition the user base via filters, create structure that mediates the dialogue/interaction, or create niche communities tailored to a homogeneous community.