I suddenly realised that search & replace of Place record names before all other records usually solves the global change problem because then all links to Place records get automatically updated before the search gets there.
If more selective replacements are required then more selective techniques will need to be used by the user.
BTW: The Edit > Find and Replace... command suffers the same symptoms of creating a new blank Place record because the default record search order puts Place records nearly last so all the links get changed first.
The new issue with rich text fields holding record links is not helped by the poor plugin support for such links.
For the technically minded, text replacements are usually performed using string.gsub() but rich text fields are not strings but complex user data so must be converted to plain text, which has the side effect of destroying the record links.
I have had to resort to reading the rich text subsidiary tags _LINK_I, _LINK_F, etc, and _LKID beforehand and recreating them after the string replacements. That technique probably needs to be a KB code snippet.
The attached Search and Replace plugin Version 3.1.1 Date 20 Dec 2020 should resolve the above issues.
Please feel free to try and break it