Gerrymandering is wrong no matter who does it.
My suggestion is to base the districts for congressional representatives on the USPS zip code boundaries . . .based on residential addresses. Just stack contiguous adjacent zipcode areas until the total number of residents is enough to make a concretional district.
Oh sure, there will have to be tweaks and it is just not that simple, but that is the basic idea.
It would take a Constitutional amendment, but could be done.