So lets say that you spot a guy and he is 3D marked. How about make the spot last longer if the guy stays in about same place?
If the guy moves, the spot counter reduces proportionally to the distance he traveled.
That would punish campers (they will be spotted for longer) while rewarding dynamic players.
In a way you can say its "realistic" - you moved so the enemies lost track of you quicker.
The times are up for debate(but lets say 3D spot is 20s for an almost stationary camper, and if you move in a straight line after beeing spoted, the time is continously reduced up to lets say 3s total?
PS: the best implementation would still be the "last known position" instead of current wallhacking....