Sanskrit is already being taught as a compulsory subject in many schools and was also compulsory in Central Schools until last year when it was made optional "like any other Foreign language" if one goes by the text of the article that was published in TOI last year. The difficulty is not that many students have not studied Sanskrit in schools, the difficulty is with the way it was taught. In many schools in India students have studied Sanskrit for 5 Years and yet have gotten very little out of it. So making Sanskrit compulsory is only a question of teacher training and curriculum and is apolitical decision in that sense.
Unfortunately Sanskrit-Urdu debate has been politicized and divides people on communal lines. In my view Sanskrit Urdu debate is not even worthy of a debate. I don't think it is logical to have Urdu as compulsory all over India and it is important to assert that Urdu is not a language of Muslims. So Kashmiri, Malayali, Telugu etc Muslims should be studying their mother tongue, so that the local communities do not break apart. In Kashmir for example the Muslims students used to study Urdu and the Kashmiri Pundits would study Koshur. Perhaps politicians in J&K did not want young Kashmir Muslim students to study Kashur(their mother tongue) in Devnagari script(my speculation). The effect of dividing the people(along with other reasons) has been very real and the Kashmiri Pundits are today living in refugee camps.
No doubt Urdu is a rich language since it has words from several languages but the fact is that Urdu developed from a common language of the Mughal armies and developed to language of poetry in the Mughal courts in Delhi along with Persian. It is primarily a North Indian language not pan-Indian. Making it compulsory all over India is illogical. Sanskrit on the other hand is Pan-Indian, as all Major Indian languages including Urdu have influence of Sanskrit so I don't think there is any debate between learning Sanskrit and Urdu in that sense. Sanskrit is the mother (or at least sister :-) ) of most Indian languages including Urdu. Unfortunately Sanskrit has suffered in India due to neglect. While the world is adopting it we are neglecting it. Where as the fact is that our knowledge of Sanskrit will not only make our local languages richer, it but will link us with the roots of our culture going back thousands of years.
Muslim league went to newly created Pakistan and look Urdu with it. A language which was spoken by approx 5% of the population of Pakistan then, was made the national language. India on the other hand does not have a national language but 2 official languages(for center) and 22 scheduled languages, and perhaps rightly so. Urdu is also well represented as one of the official languages in several states. So that is where things rest.
In the light of all this Mr Katju's recent remark on making Urdu compulsory seems like a political gimmick. Sanskrit-Urdu debate should not be communalized and Muslim students in Hindi speaking states should be learning Standard Hindi(which has many Urdu and other language words) in school so that communities do not break apart like it happened in Kashmir. In other states too Muslim students should study their regional mother tongue along with optional Urdu or which ever language they want to learn. This is my view is a logical way forward. We have 1600 languages and dialects in India, forcing a language on people in India is a stupid thing to do. Hence making Urdu compulsory is not logical.