I've made progress on dynamic waypoint placement. Basically, it observes player movement and places waypoints while they're on the ground up until a hardcoded limit. Once the waypoint limit is reached, it "randomly" deletes and reconnects existing waypoints, favoring removal of waypoints that are clustered together (no sense keeping a bunch of waypoints that are right next to each other).
It actually... works a little better than I expected:



3 shots of the same area as I've walked around it a bunch with a waypoint cap of 100.