There's still a better solution than either leaving semifinals games in current BCS cities or putting them in, say, Houston and Nashville every year.
If you want to simplify the process, just have four potential sites every year similar to what the NCAA Tournament has for the second weekend (four regional sites depending on region), then when the final matchups are announced, pick the two sites that are most favorable to the top two seeds depending on the matchup.
So you'd have a regional setup like...
- Western team semifinal site: Santa Clara, Los Angeles, Glendale, Denver, San Diego
- Southern team semifinal site: Atlanta, New Orleans, Nashville, Miami, Tampa, Charlotte
- Midwestern team semifinal site: Indianapolis, Chicago, Detroit, Philadelphia
- Eastern team semifinal site: New York City, Foxboro, Washington D.C., Baltimore
- Southwestern semifinal site: Dallas, Houston, St. Louis, Kansas City
Then you'd pick two of those sites depending on who ended up with the top two seeds. You'd have a few weeks to get things ready for each matchup. Sites that don't get it this season get bumped up to top preference for next time.