Mcleodganj is a always a safe place for travelling. Only the thing is never over-talk with strangers and yes sometimes some mischievous elements roam around there to trap people who are new there. They will speak good english, will be well dressed and you will automatically trapped (me and my friends were about to get trapped as soon as we sensed something is wrong we all ran away) . So please be careful if you are traveling alone there. Book hotels which are certified.
I think notonmao.com has some good rooms all over Himachal,besides that zostel is also having a decent hostel in mcloedganj at cheap rates and if you contact them directly for longer- stays you'll be getting discounts