50 plugins is a lot :). Honestly, if all the javascript files you have in all the plugins are written well they should not break when they’re all combined. The plugin makes sure that any dependency file is loaded before the file requiring it. But, obviously sometimes plugins will contain JS files that just don’t play well with others.
The way I debug what isn’t working when I do combine them all is to look at the javascript console in the browser and determine which file broke. The console will give you a line number and you can click to view the source. From there you can usually determine which file broke based on what code is executing. Then, I pull that file out from being combined. In a production environment I’d honestly just fix whatever the issue is in the javascript file that’s causing the breakage. But, trying to do that and maintain 50 plugins and update them is probably too much.
Minifying the javascript is a different aspect. Sometimes even decently written javascript will break when minified. In a perfect world, it wouldn’t, but sometimes small syntax mis-uses make it into plugins and they break the minification. When you’re combining them all are you also using the “minify” options? And, what minification method are you using? Closure, or JSMin?
As far as load times they are only slow on the first request for the first visitor. Once those files are cached for 1 user they are cached for all. The rebuild process doesn’t happen for individual users. Instead, the files are combined and stored on the server and served as needed.
Unfortunately there is no silver bullet to your issue. The “trial and error” method is kind of it. Using the console though can save you a lot of “error” so you’ll at least be able to get the “trial” part done sooner!
Hopefully that helps.
Thanks!