I think I have found out what the problem probably is which explains why it is so random.
I can recreate this issue by clicking on a link that does a post-back on a DNN 5.2 site before the page is fully loaded.
The reason it is happening is because there is a hidden input that is at the very bottom of the page (called __dnnVariable).
The ClientAPI needs to parse that hidden input and will crash if it isn't there.
To recreate the error, click on a login link, then click on it again right away before the page has a chance to load.
If the page loads slowly then this problem will be more pronounced.
Until there is a solution found, you may want to put a mesage on your site to ask users to try again and wait for the page to load if they get an error (which they are probably doing anyway).
I would recommend that the core be changed to place that hidden input at the top of the page.
Rodney,
Let me know if you want me to create a PageBlaster rule that will move that variable up to the top of your pages and we'll see if that helps.