No it is not always on the main straight. However, it should be on the main straight in Malaysia, because that's where it was placed in the actual race. If you're following and cannot use DRS, then you're probably not close enough to the car in front.
Here's a full list of every DRS zone, up to and including Monza:
Australia - front straight
Malaysia - front straight
China - the long back straight
Turkey - back straight, after the kink
Spain - front straight
Monaco - front straight, use banned in tunnel*
Canada - longest straight and pit straight (two zones, one activation point)*
Valencia - first straight after the bridge, approach to Turn 17 hairping (two zones, one activation point)*
Great Britain - Wellington Straight (behind the old pits)
Germany - back straight to the chicane, including the kink
Hungary - front straight
Belgium - Raidillon to Les Combes, banned through Eau Rouge*
Italy - pit straight, and the straight from the second Lesmo to Ascari (two zones, two activation poitns)*
* - I don't know if Codemasters have been able to simulate these restrictions and extra zones.
As for Singapore, Japan, South Korea, India, Abu Dhabi and Brazil, Codies had to take an educated guess about where each zone would go. I do know the zone for India is along the longest straight, and in Brazil, it's along the front straight.