The other answer to this is to try and get your User Controls working without Tridion. You can do this by thinking about how your application is architected and applying some or all of the SOLID code principles. This usually results in easier to understand and more testable code.
Encapsulate the calls to the Tridion Content Delivery API in a service with an interface that you can swap out for a fake during your local development using a Dependency Injection container or simply a flag in your web.config or even the
#if DEBUG compiler directives. This means your team can get things working quickly locally without needing Tridion. I like this because I personally don't find remote debugging particularly productive.
Use a Web Application type project instead of Website so you can have code behind and your code is pre-compiled instead of being inline (yuck) and not.
As previously pointed out, this is a Software Engineering problem, not a Tridion problem. It might seem like a lot of work initially, but it will probably save much more time in maintenance and debugging cost in the long run.