In testing, everything I've found so far, seems to be pointing at the lack of Broadcom's proprietary long term orbit data (lto.dat) used by the GPS Daemon on our devices...
These chips are in the a500/a200/a100 devices (101 & 501 devices use an ericsson GPS)
For the sake of not regurgitating a whole heap of info, you can read more about the lto.dat file in plenty of places across the web.
pacificwing recently bought this up in crypted's aGPS patch thread, some discussion on the subject starts around page 30.
The attached, recovery flashable zip will patch your system with a *workaround* to automate the download & update of lto.dat...
It is derived from past work in CyanogenMod for the aries (& other) devices.
It should be compatible with most ROM's, but may need adjusting if your busybox wget applet can't resolve dns. (see notes in the script)
What it does:
Installs the script "get-gps-lto" to /system/bin
Creates a service entry in the init.<boardname>.rc file which runs the script on a semi regular basis. (triggered by network connectivity)
The script is tunable by a number of variables, modify as you see fit.
Or, flash & forget... messages are sent to logcat so you can check up on it easily.
This zip has only been tested on a500, cm9, ics bootloader & cwm recovery.
Mileage may vary on other combinations, the zip patches your boot.img so please make a nandroid backup to be safe. (only need to restore /boot if there's a problem)
Installation problem? please let me know & provide a recovery.log so I can make adjustments to the zip if need be.
Standard disclaimers apply, flash at your own risk.