Slight blinking of contrast when clearing and updating

Why have you put that code in loop(). There is no need to refresh non-changing information displayed on the LCD and there is no need to keep on turning the backlight on.

When you do have a need to display changing data then you should try to avoid using the lcd.clear() function if at all possible. That function takes a relatively long time to complete and as you have noticed it also seems to cause some flicker. You are better off just clearing the required locations yourself.

Don