Accidental deletes at SQL Server Subscriber
Maybe I can use the deny_db_writer role at the subscriber. 
  But I believe sysadmins will still be able to run the deletes. 


Yes.  But they are sysadmins.  And so are responsible for their own "resume-generating-events".  If there are sysadmins who aren't trusted DBAs who should know better, then you'll need to reduce their permissions.  

The right answer here is to prevent the data modification at the subscriber through security.  You can run 

deny delete to public


This will override any permissions and prevent deletes database-wide for all users (public is the 'everyone' role in a SQL Server Database).

Or you can limit this to a single schema:

deny delete on schema::dbo to public


Which would allow users to delete from tables located in schemas they own.

With DELETE denied to PUBLIC, only dbo, or a sysadmin (who always connect as dbo), or a stored procedure owned by dbo will be able to delete.