I know it can be a lot of work validating an unbound form/subform combination. Your post title doesn't nail down (for me anyway) what you mean by the second option. Thus I might be suggesting here what you're already referring to, which is to use two temp tables and bind to those. That way, you get to make use of table and form control level validation, and if need be, can dump the record rather than append it to the main tables. It also allows you to edit records and not affect the main tables if the operation goes bad. Naturally, where you'd put these tables has to be conducive whether or not you split and shared (or not) the db. In a shared case, you must plan to affect only the records applicable to a given user. I know many don't believe in a shared back end, but just sayin'.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.