How to elegantly spawn actor at colliding location

Old question, but for the sake of Googlers: Have you thought of using the Environment Query System?
You could check some of the the nearest points with like 100 distances from each other, filter the points by a successful sphere trace, and order them by distance. At the end you’ll get one location, which is the most optimal point to place your object.