To answer the first question, no, there isn’t a way to do this.
As far as you’re solution, fields that are hidden with conditional logic are not submitted, or at least that is the way it was operating. If you show the fields and then change the values and then hide the fields again before submitting the page the values will not be updated.
If you find this is not the case please let me know because I’ve missed this change.
You might want to look at tabs or using a separate group for the fields you want to hide.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users