To add a bit, "can't have" isn't used as widely as "must have", and it's progressive form "can't have been V + -ing" is even rarer, so I don't think you should worry much about this form (even google search returns near zero hits for this construct).
Likewise, "He cant have been looking where he was going" in your example sounds a little strange to me. I think most people would say "He must have been not looking where he was going".
The reason is because "can't have" expresses a strong disbelieve or a negative belief, that something was not the case. What the sentence expresses is a casual guess about how he walked into a wall, and for that, "must have" works better than "can't have".