As you've noticed there's no easy way to get a full list of assets, or a list of either bitassets/uias. Like xeroc said bit assets will have a "bitasset_data_id", and you can fetch that object to get more information such as feeds. The bitasset_data object also contains a boolean "is_prediction_market" that tells you if it's a binary prediction market or not.
The best way to get all assets is simply to start at "A" fetching 100 assets with:
{"id":2,"method":"list_assets","params":["A",100]}
then fetch 100 more starting from the last one in that set, and repeat until you don't find any more assets.