Just a few quick comments:
As far as I know, the Revit api does not offer a way to tell whether 2 views have the exact same geometry. Even if they share a viewtemplate that locks all values, there are still things like hide in view, section box, view phases, temporary hide, temporary view,... I think it makes more sense to leave the call to the user: update each view while batch rendering or not?
It would be nice if Enscape could save time of day and camera position in the render settings. That way it would be much easier to make reproduceable rendering. However, I don't think this is likely to happen.
I agree that it would at least help if we could update a camera from within Enscape, (updating both camera position and sun position) (unless of course there's a view template that locks the lighting settings). This could be done with an extra button in the menu, but even better would be a 'camera manager' layover panel in the Enscape render window (similar to the camera editor from the video tool) that shows you the name of the active camera and time of day and has buttons for "update camera", "save new camera", "save settings" , ...etc
Personally, I wouldn't focus too much on view templates. Enscape exists on 5 platforms. I think the cleaner solutions are going to be the ones that build on generic concepts that exists on all platforms. Although they are named differently in each platform each program has the concept of a 'camera/view', so it makes sense to use that as a corner stone of Enscape's system. View templates don't really exist as a concept in Sketchup and Rhino for instance.
We use Enscape's Revit, Sketchup and Rhino version and love when the experience is consistent across the different platforms. It also makes it easier to follow tutorials from another platform and share tips&tricks etc. I wouldn't be surprised if it helps development as well if the 5 platforms are working in a similar way.