I would imagine this problem would be really easy to solve with bike sharing- to use it you have to register and pay a deposit. If a bike checked out with your name is never returned or is abandoned, they keep your deposit...
Edit- I suppose I have just invented docking.