Here's what I think.
Regarding voting levels: those are a good idea but will be difficult to maintain. If someone sends 10 SBD today and then does nothing, including does not actively participate in the community or support the bot with upvotes for the next 12 months, you'd be wasting your VP on them at 50% that entire time. If you re-calculate the levels regularly then it'll work but you'll have to code that in, which isn't that simple of an algorithm to tweak.
Regarding 100% voting: That's not doable unfortunately. One way to fix the issue the bot's been having is to have voting take place at intervals and should multiple posts be made by the same author in that interval, the vote can be broken up accordingly. Another way is to think of the bot as a curation-for-profit bot and have it upvote at the 30 minute mark with the weight adjusted to fit with maximum bot profits. That's not great for the sakes of the community unfortunately. The last way I'm thinking is to do what randowhale does, and cut the bot off at a set point to let it cool down.
Yeah, I think the voting levels would likely just be for the lease and change every 4 weeks. I don't like the idea of having to police who is voting and supporting on a regular basis.