Ok I get how to disable Image Capture from opening for a specific device, but I'm an iOS developer and I work with a lot of devices. Is there a way to stop this ruddy app from launching the first time I connect any new device? It's a serious invasion of privacy when I connect someone's phone and immediately see their photos plastered on my screen for the world to see!
One solution might be to use Cameras from Flexibits.
Install this preference pane and set "When you connect new cameras:" to "Do nothing" and it should stop your Mac from automatically opening Image Capture when you connect a new device.
Note that Flexibits don't update it anymore, and don't even offer it on their website but in the limited testing I was able to do it does still seem to work. Also since it isn't updated any longer it's a 32-bit preference pane so you'll get that "To use ... preference pane, System Preferences must quite and reopen." when you open it. However you only need to open it once to set the "When you connect new cameras:" option.
You can also change the permission and remove any access rights on the application package/folder. I used this on iTunes as well to prevent it from starting when pressing play and not having Spotify open.
Its as easy as using chmod from Terminal
sudo chmod 000 /Applications/Image\ Capture.app
or rightclicking the app, opening the info window, scrolling to the bottom of the view and changing them there.
More info on chmod: http://www.chriswrites.com/how-to-change-file-permissions-using-the-terminal/
This seems to work in OS X 10.9.5:
defaults -currentHost write com.apple.ImageCapture2 HotPlugActionPath ''
Not sure if
-currentHost is really needed, or if it would also work without it.
What I had also tried, which seems to work for some but didn't for me:
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES
Maybe it depends on the OS version.