Maybe each community should have a “scalability” integer assigned to them (starting with 1). Each time they get highly ranked, this number will increase or decrease, determined by the amount of interaction with the post. So if they are ignored a few times when higher ranked, they don’t get highly ranked again.
Some communities are very niche, and shouldn’t be on everyone’s front page. Maybe something like this would prevent that.