So I'm just looking for advice as to how to build this out in such a way that is scalable but it needs to be a user pressing the button to initiate this action and not a scheduled job. Any input is welcome, thanks!
I would highly suggest creating an intermediary visualforce page where you explain to the user what is going to happen (maybe displaying the record that will be created etc). On that page would be another "Confirm" button. This would then allow you to use a Controller to take your inputs needed for the creation of the child records. You can then bulk process as needed,