There are a few different answers to this question, but I'll give you my take based on personal experience.
My camscore dropped down to 558 at its worst, and what got me out of that hole was 1. staying consistent and logging on when I said I'd be on (2-3 hours, 5 days a week) and 2. Trying out a new shift. I kept most of my schedule the same, but I switched my worst shift—Tuesday evening—for a totally new one—Sunday afternoon. This exposed me to new people that I wouldn't have met otherwise, and within two weeks, my camscore started to go back up. You can't find tippers to raise your camscore if you aren't online.
Similarly, I did my first rank month in April. I was a little worried because I had given myself set hours (5-6 hours per day), and told myself that I wasn't allowed to log off before those hours were up. I was worried that this would make my camscore go down because I'd probably be spending more time online without making as many tokens per hour. The opposite actually happened. There were days where the first 2 or 3 hours of a shift were DEAD but then I'd earn enough tokens in the last hour or two to make up for it. My camscore went up last month. More time online meant a higher camscore.
In general, my advice is to stay online for the full time that you said you'd be online, but there are occasional times where it's smart to make exceptions. If I do a big show and then the people who tipped for it leave afterward, I'll typically log off if I have less than an hour left in my shift. I find it's difficult to get the room restarted at this point because often the only people around are freeloaders who only want to stare and won't tip or talk.
Also, it took me 4 months of camming before my camscore started to go back up. It takes time to build up a base of regulars.