From my limited experience from playing leagues, by the time you realize your opponent is too slow it may be too late. If I'm going to call a ref over because you're slow, then the ref will put us both on a shot clock to be fair. Unless the player is habitually slow, usually you don't know
From league play, my captain usually doesn't bother to time my opponents time outs, because then the other team could retaliate when you need to spend extra time on the game ball.
Maybe a chess clock would be the solution. Allot each player an equal amount of time for each game. Player B turns starts when Player A sits down, and vice versa. If Player A takes a long time getting back to his/her seat then he's penalizing himself. It's up to them whether/how they want to use it.
The newer digital chess clocks have more features than the older analog clocks. Here is my idea of a rolling shot clock that can be implemented on newer digital check clock. Rolling shot clock, where you can bank unused time from the last 5 shots.
Player A 15, 15, 15, 15, and 90 on the final shot to win the game.
Player B, 30, 30, 30, 30, 30
In a prior thread, someone ask why don't more tournaments use magic racks. Theft was cited as possible issue, which could be minimized by giving out the rack at time of table assignment and turning it in to report your score. Same with the shot clock.