I have somewhat of an update on this, for anyone who again, may find this useful.
I've been writing a Python script that will generate a schedule for a 32 team league (as I plan to expand the GSL to 32 teams for the 2022 season). This script, right now, can generate a fully randomized schedule for all teams, that meets certain rules, like, not playing the same divisional team twice in a row, and not twice in the first 4 weeks. It also randomized bye weeks, for each team. The script can also rotate which divisions play which other divisions in the league, based on year.
I still need to work on scheduling home and away games for each team, and this should depend on divisional rotation (as in, with the NFL, an AFC team will alternate home and away games against an NFC team over 8 years).
I think it would be good to also give the script the ability to have games on a predetermined schedule (for example, the Lions always play on Thanksgiving at 12:30).
I don't have game times in this scheduling script yet, but that's easy enough to do by hand. Randomizing opponents while following matchup, and home and away rules is the hard part.
Once I get the 32 team league down, I could try to adapt the code to many other sized leagues.
Once I've got this whole script completed, I'll put it in a public git repository, with a readme file with instructions, so that anyone can download the source code, and run it to generate schedules. I think I'm still a ways off from being done, but it's something I've got in the works that hopefully helps someone out.