Why not just turn off recognition of "rm" in the efivarfs? That is, the response to "unlink" of a file that represents a system abstraction of firmware should be something drastic only to the unlinker. SIGSEGV or something. "Go away, don't do that."
echo 1 >/sys/...efi.../enable_remove
echo varname >/sys/...efi.../remove_var