If you've got enough information to cancel the main signal, then you've also got enough information to cancel the reflections. It will take a more computational power though, which is okay if you're doing the analysis on a recording.
The brute force way is to do an exhaustive search, repeatedly correlating the signal you are looking to cancel and the received signal, whilst "sliding" the known signal across the received signal, which means adding a delay to the known signal between each correlation. Correlation peaks can be picked out and used to cancel the reflections. Similar techniques are regularly used in radio communications, to combat multipath fading, which is a fancy way of saying that the received radio signal contains reflections.
Comments
If you've got enough information to cancel the main signal, then you've also got enough information to cancel the reflections. It will take a more computational power though, which is okay if you're doing the analysis on a recording.
The brute force way is to do an exhaustive search, repeatedly correlating the signal you are looking to cancel and the received signal, whilst "sliding" the known signal across the received signal, which means adding a delay to the known signal between each correlation. Correlation peaks can be picked out and used to cancel the reflections. Similar techniques are regularly used in radio communications, to combat multipath fading, which is a fancy way of saying that the received radio signal contains reflections.
Edit: remove cruft at end of comment.