You can lodge a complaint to the tourist police... basically 10 places/police stations have been identified and the staff has been trained on how to handle tourist related issues.
However, before you go there, please ensure that the hotel has indeed not initiated the refund. As refunds do take time to get transferred into your accounts, even Indian railway refunds can take upto 3-4 weeks to appear in your account. If they say that they have initiated a refund, please ask for a confirmation email or a receipt of some kind from wherever you have booked the rooms. In your case i guess its already been more than 3-4 weeks so the money should have appeared by now.
If you are not in India right now, then it'll be slightly difficult to lodge a complain. But you can register a complaint online here http://www.core.nic.in/
and see how it goes.