• Arabia wasn't a very inhabitable place. It was mostly desert and sparsely populated. It's climate wasn't suitable for living and thus it was full of locally governed tribal nomadic societies. That's the reason why the Achaemenids, Romans, and other large empires never sought out to conquer Arabia. Furthermore, the Levant and Iraq hadn't become Indo-Europeanized. These were the frontier regions of Southwest Asia and they would have needed to get colonized first for the IE people to get into the interior of Southwest Asia. Ancient Levantines and Iraqis most likely resisted becoming IEs because they had their own far more advanced civilizations and were a power in their own right for most of history. North Africa and West Asia were conquered by Indo-Europeans in the past but the living conditions in North Africa weren't suitable enough for a full-scale colonization.
• North Africa wasn't Indo-Europeanized because the IEs had to colonize/get past West Asia first to get into North Africa, something that never happened. If West Asia got Indo-Europeanized, then there's a good chance that the same would have happened in North Africa.
• South India (India as a whole to a lesser extent) is a place full of forests, swamps, and some mountains & rivers. The main geographical feature that separates South India from North India are two main mountain ranges: the Vindhyas and Satapuras. It's actually an interesting feat that Maharashtra (and Goa) managed to get IE-ized considering that it is south of the above mentioned mountain ranges and thus geographically in South India. But as we all know, there are multiple factors involved in ethnolinguistic colonization. Besides geography, empires play a large role in spreading language and colonizing. I suspect that the Satavahanas and Western Kshatrapas had a major role to play in Maharashtra becoming IE. Also, India is a vast place with a huge population density. Even today, there are significant pockets of Austro-Asiatic and Dravidian-speakers in Central India and Eastern India.