How to stop negative user points?
IMO you should only allow voting for users which have at least X user points. Here is a technique to get that to work:


Grant some permission when a user's amount of user points reaches X, and take that permission away again if it gets reduced to some amount below that. The obvious permission to be used for this is by using the role which allows voting.
Monitor changes in user points for a user, by using the Rules module like so:


Use the Rules Event that captures user points being rewarded (whereas such points can be negative also ...).
Use the Rules Event (or Rules Action!) as described in How to access current amount of earned userpoints in a Rules Condition? (be aware that there is no out-of-the-box Rules Condition like "does this user have at least X user points"?).
Perform a Rules Action to grant access to the role that allows voting, when the user's amount of user points is at least X (and revoke that access if it is below X). If you'd also use the Conditional Rules module, you can perform both types of Rules Actions (grant and revoke) in a single rule.



With that, all that's left is to pick a vaue for ... X!

Note: this approach does not require any PHP coding, so "programming experience" is not required (you only need to be a bit familiar with Rules, for which there are lots of free tutorials available.