You can add a flag eto each of your substitution commands, which is described in :h :s_flags:
[e] When the search pattern fails, do not issue an error message and, in
particular, continue in maps as if no error occurred. This is most
useful to prevent the "No match" error from breaking a mapping. Vim
does not suppress the following error messages, however:
Regular expressions can't be delimited by letters
\ should be followed by /, ? or &
No previous substitute regular expression
Trailing characters
Interrupted
This would give:
com! MyFR %s/first/1st/ge | %s/second/2nd/ge | %s/third/3rd/ge
Another solution would be to combine all the permutations into one:
com! MyFR %s/\vfirst|second|third/\={'first': '1st', 'second': '2nd', 'third': '3rd'}[tolower(submatch(0))]/g
(. :h s/\=). .
- , - .
, , tolower(submatch(0)), (. :h submatch()), ( tolower()).