More than the reasons you had cited, the actual reason IMO is because of the changing political landscape in India. Till the late 80s, we had the Congress making it to the center with a thumping majority. They also ruled most of the states. All policies were dictated from Delhi and needless to say, with most MPs from UP and Bihar the congress decision always mirrored these two states' MPs' opinions. All investments were made in the North and South struggled. The only means of livelihood for the people in the South was to go North in search of jobs or go abroad.
But now with coalition politics, and with regional parties especially from the South having a bigger say in policy making, the South is getting a larger share of the pie. And hence more progress in the South. Unfortunately, with the opening of the economy in the 1990s, the rate of progress has been lot quicker. So South with its political clout has cashed in on this while the North languished behind.
This will continue till such time when another NI based party comes to power with an absolute majority at the center. but alas, those days seem like a distant dream.