My first step - check the logs.
Is the error coming from the load balancer or SSRS? Do you get the same error if you go directly to the machine rather than through the load balancer on any of the machines?
I would look at the logs for SSRS on all of the machines as well as the load balancer. Check the SSRS logs and the windows event logs and might not even hurt to check the SQL Server logs. But I expect that one (or more) of the logs will provide better info than error 500. If memory serves, a 500 error is a server side error. Refreshing the page is likely pushing you over to a different server from the load balancer which is why a refresh fixes the issue. Basically, load balancer points you to server A which gives you the 500 error. You hit refresh, the load balancer gets your request and pushes you over to server B and you don't get the error. Since it is intermittent, it is likely that you are being directed to server A infrequently and thus don't see the error often.
But the logs will confirm what the issue is for sure. That and testing SSRS on each of the machines in the load balancer rotation. But even if you determine which machine in the load balancer rotation is giving the error, you will still need to check the logs to determine what is wrong. Therefore, I would check logs as my first step.