Show first view result, but show next result when the view's cache is cleared
I would have used some scheduling mechanism for node publish and unpublish instead of using views chache.

Some thing as schedule a node A to publish today and unpublish tomorrow, node B is unpublished today and will be published tomorrow, meanwhile the view will always pick the published nodes.

Node scheduling can be handled by scheduler module.