The starting locations are not fair, but they are assigned randomly.
You are guaranteed the same amount of minerals and gas and the same choke size. Other than that everything might vary:
- Workers initial spawning position relative to minerals
- Orientation of choke / ramp (important for Terran)
- Natural torwards or away from your opponent (important for Zerg)
- Cliff (from base) towards or away from opponent (important against Terran - Reaper / Tanks and Protoss - Blink)
But most of these issues are insignificant on the long run, because you have the defenders advantage (aggressor has to walk to your base) and because important matches are played in a best of X fashion.
The best way to cope with that is to know all the pros and cons of your and your opponents starting location and exploit them to your advantage or take precautions against the weaknesses.
E.g. TvZ close locations is very good for early 2 Rax pressure, but TvZ far locations is very good for Zerg 3 base play.