I mean chess.com should have system in place if opponent doesn't make his move within let's say 8/10 mins system should abandoned the game.
What if it is a critical moment in the game? When I played in USCF in 30 min time control I took 10 minutes to move. Same on chess.com. Because the system does not know if you are losing or winning what if you are calculating an attack? This would abandon games that are unclear and in progress.
As long as a player's reasoning can't be ascertained, noone can say for sure if he is "stalling to make opponents wait unnecessarily" or not. He could be calculating a 14-move variation, if he so wishes. It's up to him how to spend his time, that's why it is his time.
The best solution in such cases is: play a time control that isn't longer than the time you really intend and agree to spend playing (which should be so anyway).
I would say it is often clear in a number of cases that people are stalling as they are clearly losing and there is nothing in the position worth thinking about.