Unless you are working with a planned nation, i.e. leaders started it from scratch kind of like a planned city, distance is not particularly relevant when assigning locations.
I think it important to define a city...which may seem ludicrous but stick with me.
- City: A collection of people and structures with socials services, and defenses in a contained, contiguous geographic area.
Why bother defining it? Well if you look at some situations, for example Minneapolis/St Paul, its pretty easy, with the exception of politics to call that one city and for the sake of map building you can consider it one city, even if you later break it apart for political or localized geographic reasons.
So, moving on to your question.
Is there a theory, model, technique that could help when placing
cities on a map, instead of placing them randomly?
Not that I am aware of, but luckily we don't need one.
Start with a map. If you have your map you can get a solid idea of where cities should be placed. This map needs to be fairly detailed, you need to know the terrain, the major bodies of water, the local climate...is it arid, or temperate, how much rainfall etc etc etc.
The first cities: Once you have your map find good geographic locations for settlements, as HDE mentions water is huge. The first (and oldest) settlements you place are simply going to be locations that have all humans need to settle and grow a town.
Non agrarian cites: These will develop along trade routes, or at strategic points. (cross roads, passes, river crossings, holy sites) This question may help you as well: How can I ensure my cities don't all look the same?
Keep resources in mind. As mentioned in step 1, you have to know your map. Your question is right in assuming that you can only have population centers so close together. This is why. Only so many people can live so close together...though perhaps the population of two nearby large cities are overwhelming local resources...which leads to conflict, which leads to a good story setting...
You are better off applying logic here rather than a mathematical formula. Just try to consider how things developed. First you had mainly nomadic peoples, hunters and gatherers. They wandered and perhaps picked and ate corn, maybe eventually they noticed it grew in the same place every year. You start a settlement where food and water are plentiful and shelter is available. Rather than being nomads you now have a small village and hunters that range out from the center. Agriculture develops. This happens all over the area with splinter or other totally isolated groups. Eventually as things grow people interact and trade. Common paths develop. Pull the thread. Its a fun trip.