Cities should be able to compete for individual events. Skating events in one city, skiing events in another etc. Cities wouldnt have to lay out billions for Olympic facilities that would then fall into disrepair.
Even a place like Detroit has world class sporting facilities like Ford field for things like track and field events. By the start of the 2016 NHL season the Red Wings will have a new arena right there next door which would be ideal for skating events. That part of Detroit is no more dangerous than midtown Manhattan and maybe even safer.
After all, Detroit produced the gold and silver medal ice dancing champs this year. The Americans took the gold and got the highest score ever and the silver medal Canadian team regularly work out and practice in Detroit.