Seeing villages generated on the side of a cliff looks really ugly and I cannot imagine it'd be too difficult to check whether or not the terrain was walkable.
the problem is, where's the perfect threshold? if you make placement more strict you end up with villages being stunted or harder and harder to find, all at the mercy of completely random terrain generation
whenever I come across one like that I either
a) don't care because the world is infinite and I'll almost certainly never see it again or
b) turn it into a project and fix it