I was thinking about your template question some more. You can do all this by setting default values for most fields, and for things like repeaters and flex fields you can use acf/load_field and acf/load_value filters to dynamically generate default rows and content. There have been questions here on these forums about doing this.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users