For quite some time it seemed as if the best bets would be:
Use USB instead of Bluetooth. There are some Si470x tuner dongles out there for which open-source drivers exist. I have managed to port a driver to Android and get raw TMC data from the device via an Android app.
Build your own hardware: The Si470x chip is also widely used in the single-board computer community with breakout boards available. These, however, have an I²C interface, so you would need a Bluetooth-I²C bridge, most of which expose a Bluetooth serial interface. Challenge: the Bluetooth-I²C bridges I’ve seen so far don’t seem to come as breakout boards. Solution: get a Bluetooth-UART bridge and a UART-I²C bridge, both of which are widely available as breakout boards. Once you’ve pieced this together, again, you will need to write a driver, again based on the existing Linux driver. The protocol is not hard to understand and well documented—SparkFun has links to the relevant documentation—so this should be doable for a somewhat experienced programmer.
Then, however, I came across something else: some folks out there had made some progress in decoding the proprietary GNS protocol, which the TMC dongles bult by GNS (one of the major players on the market) speak. The protocol is the same, regardless of the interface (USB, UART or Bluetooth), and by trying all possible opcides, I found another two commands. I’ve since developed a driver and am successfully using the device (mostly limited by the antenna setup). Both the Bluetooth and UART flavor have worked for me (I didn’t have a USB device to test with).
Another major player on the market is Royaltek. Their devices seem to be mostly combined GPS/TMC dongles, which communicate both GPS and TMC status via the NMEA protocol. There’s some progress on decoding that as well.