"There are almost no dogs."
Translation:개가 거의 없습니다.
It depends on nuance honestly. In this statement it's just a general fact that there are almost no dogs wherever you are. For most general statements like this you use 가/이
To use 은/는 you would need to be specific like saying "as for dogs, there are not many" or something like that since 은/는 is used for comparing and changing subjects as well.
At least this is the kind of guide i follow.
I think you might be switching the two. ~은/는 is used for general statements. "There are almost no dogs" is not a general statement because that would have to be true generally, i.e. they're on the brink of becoming extinct. Since it's not a general statement, it makes sense to use ~가. In other cases where ~은/는 applies to non general statements it brings attention to a particular topic or provides contrast, i.e. 남자는 might mean something like "as for the man (vs for other men)..."