A modest proposal on Gerrymandering. It won't fix the problem, but maybe it will improve it. Instead of trying to stop it outright, accept that people will always try to "game the system" and blunt the computational tools they use. Look at the ratio of the district's perimeter squared divided by it's area. Get everyone to agree on a max size for that number and define districts to that.
@JKMooney I'm pretty sure that won't work. Each state is divided into a certain number of districts based on population. Because population density varies widely between urban and rural areas, such a rule just isn't workable.