I wish I had this problem. The handicapping system that comes to mind for me is this:
Keep races short. Five games (race to three) might take an evening for some players. You should decide as a group how long you want to be there each week.
Each player has a number which is the number of balls they need to have to win with no upward limit and a minimum of one or two. This means that matches between weak players won't use the whole rack and won't take that long while matches between strong players might require spotting balls. Make your best guess about where to start everyone and tell them up front that you might be wrong, but it will work out over time.
Two wins in a row means a player's number goes up one, two losses in a row means a player's number goes down one. If there is money to be distributed, paying per win will minimize sandbagging, although, of course it won't eliminate it altogether.
That's my idea, I hope you get this going and it works for you.