An interesting note; the caste system as we know it today is only about 200-300 years old, being established during the decline of the Mughals... and as law and a real social practice dates only to the British Raj and their insistence on classification based on race and social standings. Laws restricting one from having jobs outside their cast really weren't around until the late 1800's and early 1900s.
Additionally the British Raj basically said "If you are from this caste you are a criminal!" and made it a self-fulfilling prophecy. To give a small quote...
The colonial government prepared a list of criminal castes, and all members registered in these castes by caste-census were restricted in terms of regions they could visit, move about in or people they could socialise with. In certain regions of colonial India, entire caste groups were presumed guilty by birth, arrested, children separated from their parents, and held in penal colonies or quarantined without conviction or due process.
The criminal-by-birth laws against targeted castes was enforced from early 19th century through the mid 20th-century, with an expansion of criminal castes list in west and south India through the 1900s to 1930s. Hundreds of Hindu communities were brought under the Criminal Tribes Act. By 1931, the colonial government included 237 criminal castes and tribes under the act in the Madras Presidency alone.
While the notion of hereditary criminals conformed to orientalist stereotypes and the prevailing racial theories in Britain during the colonial era, the social impact of its enforcement was profiling, division and isolation of many communities of Hindus as criminals-by-birth.
It's very much like what we see with African American communities; yes there is alot wrong within the community that is completely and wholly their fault... you can only blame the oppressor for so long. However to blame African Americans because of their culture as to why they have high crime rates is to ignore that a large part of their culture was influenced by Anglo racists who put them in situations where they were destined to fail and stay poor/uneducated/low status.
Hinduism is 2400+ years old... and the truly disgusting and inhumane caste system didn't really arrive until 200 years ago as the Mughal Empire collapsed and stratified the haves-have nots and Western racists came in and started interpreting the culture the way they wanted (and changing the laws to reflect it)... so we can only put so much blame on Hinduism.
History and anthropology are simply not black and white subjects; you have to view them holistically to understand the mechanisms that set up a system. And that said... it's been nearly 70 years since India has gained it's independence and I would have liked to see more change since then. But that is also only a few generations... large social changes (especially one brought about from within and not by foreign force) take time. It took the United States (which claimed to value all humans) 90 years to abolish slavery and 144 years (and the development of birth control) to to actually consider women "worthy" of being treated like men.
Just my more than 2 cents.