Redistricting algorithms can be programmed to conform to the nearest census tract borders, instead of cutting through census tracts. That is not the most often objection raised to removing the human decision-making element from the process though (although I don't think any I've heard are justifiable). Some people cite: wanting to contain local issues or business interests within a district, or "positive" racial gerrymandering, insuring a racial minority a seat through gerrymandering because otherwise the rounding error produced by representative governance would eliminate representation of sufficiently small or dispersed minorities. If not following census tract outlines, there are also some objections to some what-if cases, like when a house lies directly on the algorithmically generated district border, but those largely have very simple solutions (for example: alternate which side of the border to assign the houses to. Or assign them all to one side: it's so statistically unlikely it would rarely make a difference). If you want more complex methods (that have benefits like higher compactness at the expense of computational complexity), see Bdistricting, Voronoi diagram, k-means, etc. redistricting.