You can use OR with negative lookbehinds, but due to limitations of the type of GREP that Adobe uses, you are not allowed to use anything that may result in strings of different lengths in a lookbehind. This is also the reason you cannot use '*', '+', and '?' in a lookbehind.
You can however test for each item one at a time:
Since they appear in order, the net result is kind of AND instead of OR – not x and not y and not z instead of your not(x or y or z).
A little added warning on your replace expression: lookaheads and lookbehinds are always parenthesized, but they are meant to not be a part of "the" search expression. So you should not count them for your replace-with $! In this case, you should simply replace with
as the only parenthesized group that gets 'found' is the one with the optional 's'.
I just tried that before your comment and it does work
Is there also a way of keeping the original capitalization of the replaced word?
For example if it said Amputee with a capital A, can I replace it with User with a capital U and visa versa?
W.r.t. case sensitive: alas, no. This does work in the regular text Find & Change but not in GREP. You need to do the change twice, once with a capital and once with a lowercase.