Mustafa has the best rates for Rupees. They take in Rupees from Indian tourists... and offload to people who want to go back to India... so naturally, they have the best rates. But I don't know about other currencies.
Usually, Change Alley is good... because you can shop around. Their rates differ depending on what they buy in at. You can also bargain if you buy enough. So, you get reasonably good rates.
The rates at Changi Airport are not good at all. We checked both the counters in and outside duty free. Best deal is not over there. Another tip, try not to change in the weekends, do it from Monday to Friday. The exchange rate is worse on weekends, the money changers increase the rates just in case the market opens on Monday with bad exchange rates.