millis() blink != 50/50

When you're trying to make something happen at a regular interval, I recommend that you use

nextTime = nextTime + INTERVAL;

Rather than:

nextTime = now + INTERVAL;

By the time you make this assignment you are some unknown and variable time past when the event was due to have occurred. To avoid cumulative error, schedule the next event based on when the previous event was actually due, not based on 'now'.