The Z-Wave JS sever provides the ability to replace a failed node, but it doesn’t appear to be exposed via the frontend:
I have a secondary controller that I can use to replace failed nodes, but they revert to their default name when re-interviewing (at least when the node is replaced with one of a different brand).