I've tried using the script from here but still no luck. Is there a way of doing this at a lower level such that I manually configure everything before hand then wait for a positive edge on the USB line then open the shutter?
You probably want to experiment with the "sync" functionality of the USB remote code. It basically starts the shooting process when 5V is applied to the USB port but holds off the actual release of the shutter until the 5V goes away at the last possible millisecond in the code.
The USB remote functionality in the new development version of CHDK is a lot easier to setup and use - you will probably find the stuff in the stable version confusing.
There has been some recent concern that the sync in newer cameras is slower and less reliable. Its not clear to me if that is true or if its more the case that nobody has gone deeper into the code to find the last possible moment to release the shutter (rather than just relying on the hack that what was done four or five years ago).
Let us know what you find out ?