1. Prevent users from deleting components from the template that is applied to a Page?
I don't think you're going to find a good solution to that -- the SitePub permissions model just isn't that granular. Kind of. The only time where you can change the 'disassociate from template' flag (removing a component from a template without removing the whole template itself) is at page creation time. So if your user group only has access to edit pages, then it kinda satisfies this point.I haven't seen anything that would satisfy #2 and 3. Ultimately, I'd say you should just trust / train the users to use the solution as intended, and then you validate the authoring work by a business process, i.e. having an enforced peer- or manager-review in a publishing workflow.