If you want to really make sure the rights of minorities are represented, let them choose with "District" they want to be in....allow it to be completely free from geography. Tell everyone they have to register to be in one of 100 "districts", but can choose which on they want. Thus, people can identify with whatever interest they find most important.
If enough people want to form an "Hispanic" district, or a "gay" district, or a "lawyer's" district, that's fine. And if some people still value geography and want to form a "Maryland" district or a "Chicago" district, that's fine too.
New Zealand has (or had?) something like this for Maoris.
The census had a designation for Maoris. When voters registered, they indicated whether they were Maori
and whether they wished to be on the Maori voting roll.
When the Maori districts were drawn, the relevant population for an area is: Maori_Population * (Maori_Roll / Maori_Voter). Thus if 60% of Maori voters in an area said they wanted to be on the Maori voting roll, then 60% of the Maori population would be used as the population for the area, with the districts based on population.
A variant in the US would be to take the relative share of the population for each ethnic group (Asian, Black, Hispanic, and Anglo) and determine the equivalent number of congressional districts. Then for each ethnic group in turn, select the combination of small areas (census tracts perhap) that have the highest concentration of the ethnic group, that have a total population equivalent to the number of congressional district. Then divide those areas up into districts.
For example, Texas would have 1 Asian, 4 Black, 10 Hispanic, and 17 Anglo congressional districts. The Asian district would be the census tracts statewide with the highest concentration of Asians that had a total population of 651,593. The 4 Black districts would be the the areas with 2.606 million population with the highest Black concentration, and so on.