I have spawning inside dungeons under control. I use three invisible ghosts and a tail of xmarkers that fallows the player (4 markers). spawning in dungeons is pretty perfect.
Its the outdoors that is an issue. It does no good to search for terrain as spawn points as bethesda gets creative and uses them in weird angles, buried in the earth, half buried, etc. And of course spawning at the player exact location is a no no as it looks bad when they appear out of nowhere in front of the player.
Also, checking for things like plants is resource intensive. Checking for rocks is useless, they place them anywhere in the earth, sometimes just a tiny bit showing. But the biggest issue that I need spawns at a distance from the player, 1,000 to 4000 units. Most of the time it works out, but close to mountains and thick walls I have issues.