According to this post, you can modify the framework-res.apk to remove carrierIQ software from the phone. Unfortunately a lower post, and others, suggest that this doesn't work, causes infinite boot loop, since recompiling it will make a different signature. If true, is there a better way to do this?
The core android framework, the UI and lockscreen are all compiled into the framework-res.apk. So naturally messing with it and improperly modifying this will result in infinite boot loops, strange overall bugs and "wonkyness."
If you have the ability to flash new framework-res.apk, it means that you have a custom recovery and root access. So just flash ROMs that don't have Carrier IQ. These are usually builds built from AOSP and CM as both of these code bases are given straight from Google and are clean of any third party proprietary software like Carrier IQ.