Forcing the Uninstall Hook to fail

Multiple alternate suggestions to achieve your objective:

  1. make the plugin a ‘must-use’ https://codex.wordpress.org/Must_Use_Plugins, they do not apply exclusively to multi-site. Can use them in normal wp.
  2. give the client a customised role (as Kaperto suggested) that excludes ‘delete-plugins’
  3. Name the plugin something like ‘Essential Plugin’. Add ‘Do not delete in the description’ & Educate the client & Make sure there are backups. Have the backups emailed to the client weekly 😉 so they aware of them.