One good way is to not take total strangers as players, and/or make everyone go through an agent to play with you. I'm not a bookie, but I was an agent for a few years and found that people will rarely stiff their good friends. We just played the good cop/bad cop routine and if someone tried to stiff, I'd just say that it was money out of my pocket and I wouldn't have enough to cover the winners (also our friends) if he didn't pay. As a last resort, I'd say "well, you're down 500 and our friend Jack is up 500, so I'll just tell Jack that you owe him the 500."
The only time I came close to getting stiffed was a guy that claimed the computer messed up one of his bets and logged in the play on the wrong team. It was a $400 bet, so he said "that's an $800 swing, the computer messed it up, so I"m not paying." That was in October, and I told him I could make excuses for him until the end of football season, but after the Super Bowl, I absolutely had to have it because otherwise it would come out of my pocket (not true). The guy is an all-around decent guy and realized he wasn't going to get away with it, so he finally owned up and paid.
The other way not to get stiffed is by being a damn good bookie and offering great lines on all sports (within reason of course). Having everyone post up is not realistic, but if they know that if they stiff they can never play there again and will have to start going down to ** once every couple weeks, that's a big deterrent.
But at the end of the day, I heard all the excuses as an agent, and I realized which of my friends had character and which were cowards. Also had a guy collect $1k one week, then the next week when he finished down just over $1k, claimed he had a car wreck and couldn't pay. Next time he finished up big a couple weeks later he pitched a fit when I told him I was gonna make him leave his total up for a couple weeks. You slow pay me, I slow pay you!