

I say #2, specifically because it can be done mathematically, as opposed to trying to agree on some definition of “fairness” that isn’t completely different for every office and doesn’t have to be wholly redistricted every election as a consequence.
Say, something like least split line. Basically, if you have an even number of seats for a region, draw the shortest length line that splits the region into two regions of equal population. If you have an odd number of seats > 1, then draw the shortest line that splits the region based on number per seat given one side gets the “extra” seat (for example, for 5 seats you’d split so that one side is 2/3 of the other side and give 3 seats to one side and 2 to the other). Repeat the process for each region created by these lines until each region represents one seat. If there are multiple shortest lines, you the one closest to a NS axis. The extra seat always goes to the west side of the line.
This is in no way new. 20 years ago I used to refer to some job postings as H1Bait because they’d have requirements that were physically impossible (like having 5 years experience with a piece of software <2 years old) specifically so they could claim they couldn’t find anyone qualified (because anyone claiming to be qualified was definitely lying) to justify an H1B for which they would be suddenly way less thorough about checking qualifications.