I wrote up some tips here: https://photostructure.com/faq/takeout/
This is what I did:
1. First try to fetch all your Google Photos via Takeout in one archive. If it fails (like it did for me), try different-sized .tgz archives. I had to use the 10 Gb option (using 50gb caused an internal-to-google error).
If that fails to work, the last resort is to manually create by-year albums, shove all photos from that year into that album, and do a takeout of just that album. Repeat as necessary for every year. Yes, this is a huge PITA--which is why I recommend the following:
2. Install an app on your phone to *directly* upload the original photos and videos from your phone to your NAS/home server. I have several recommended apps here: https://photostructure.com/faq/how-do-i-safely-store-files/#...
At this point, you can still use Google Photos (for viewing and as a last-ditch backup), but your originals are safe (without all the Google Photo downsampling and metadata shenanigans), and you're free to use whatever self-hosted software you want (like PhotoStructure, but there are a ton of alternatives, as well).
FWIW, I also tried this software: https://github.com/mholt/timeliner -- it does what it can, but the files you get via the API has a bunch of metadata stripped from it. I even had captured-at times get mangled with older photos.
In Timelinize, I'm focusing on importing Takeout archives first (though I'll reinstate API downloads later) because of this exact problem. Timelinize has a vastly improved schema and can handle data from any data source, not just Google Photos. For example it also imports iPhone backups.
I think PhotoStructure is a great project and I've taken some inspiration from it
I want to download takeout files (120+ files) directly to my Synology 220+ but Google takeout is very cumbersome and I can't get a way to queue them and automate the task. They really could make an effort to make Google Photos NAS sync easier....