You have mentioned more than once that track changes is effective with few changes or one cell. May be I did not understand your point properly, but I have used it to copy 3 sheets with more than 2,300 filled cells (Copy All and paste) and everything was registered. I think this is not a few changes or updating one cell at a time. It is rather mass changes.
On the other hand, the 30 days is the default value. You can increase it up to the maximum limit of a signed integer, which is 32767 days (more the 89 years…almost no expiration). However, management of the history will be required to keep the size of the workbook manageable. This would be similar to your approach of having separate log workbook.
Workbook_SheetChange and track changes keep track of editing changes and cannot track format changes. Please correct me if I am wrong, I think both have the same limitations and cannot go beyond editing changes.
Unfortunately, I am not familiar with other options, as the track changes was doing its job.