I used to have this same Problem. I never found a straight way to fix it, so now I import the Collada File into Blender. You then export that as an AutoDesk(fbx) file.
When Importing it into Unity:
Drag The texture folder for your Collada file into Unity.
Drag the FBX file into Unity
It is imperative that you do it in this order… It works 95% of the time for me. Every so often it assigns the wrong texture to the object but that is very rare.