Thinking outside the box on Army/Navy, what might work best is if they are football only as the 19th and 20th schools. They are comfortable and competitive in the Patriot League, so it may make sense for therm to stay there for BBall and nonRevs.
18 teams for basketball easily turns into an 18 game regular season - One H&H with a rival like VT/UVA, then play the rest of the conference once. Be strategic on splitting up Duke/UNC/ND/Cuse, so that everyone get 2 of them on home court each year. Help build up everybody's RPI come tourney time.
Shouldn't Louisville and (maybe) Pitt be included in that group? In terms of basketball, I would consider Louisville on par with those 4 schools in terms of name recognition. Pitt is a de facto placeholder to give the ACC an even number to divide up and could easily be replaced if a bigger name (i.e. UConn) were to join the conference. If done right the ACC could make sure that no team has go a season without playing an even number of home-away games with schools from a state or region. The lone exception to that rule (based on the 15 team model) would be for the Mid-Atlantic/New England Region which has 3 teams (Pitt, Syracuse, and BC). For teams outside that region they would either play a 1-2 or 2-1 (home-away) schedule.
Mid-Atlantic/New England Region - 3 teams
Midwest Region - 2 teams
Virginia Region - 2 teams
N. Carolina Region - 4 teams
Georgia/S. Carolina Region - 2 teams
Florida Region - 2 teams
If a goal of the ACC is to try to get an even number for state/region (for scheduling purposes), then it would suggest that UConn may have an inside track. If UConn joins, then the Mid-Atlantic/New England Region could be broken up in the Mid-Atlantic Region and New England Region with both having 2 teams.