How often should a node do an OTAA Join, and is OTAA better than ABP?

For ADR, a node would need to check if its transmissions are still received, and if not it could also decide to re-join. I’d assume the RN2483 does the ADR validation all by itself, so will probably not allow your code to hook into that; it will raise an error at some point though, I guess.

See also How can an operational node be triggered to join a different network? to keep things on topic.