Lars Syll has a couple of posts (here and here) on rational expectations. Of the various assumptions underlying microfounded macro this one is, for many heterodox economists, the most preposterous.
In my view, though, it is wrong to dismiss rational expectations out of hand. I would not suggest it is embraced whole-heartedly with other concepts pushed aside if they don't fit neatly with it. However, I do think it is important that economists appreciate the way that expectations shape results and in this respect, I think paying proper attention to the implications of rational expectations is an important discipline.
When constructing models, it's often necessary to say something about expectations. In saying how people act in aggregate, we need to make some assumption about what their average expectations are. This is particularly so when modelling financial markets. The results we get from our model will then depend on the assumptions we have made.
In a sense, we have two choices when deciding how to model expectations. We can either assume that people get it right or that they get it wrong. Now, it's quite reasonable to suppose that people will almost invariably get it wrong. The problem, though, is that it's not enough simply to say that people will get it wrong. Unfortunately, if we don't want to use rational expectations, we have to make a further assumption about the precise manner in which people will get it wrong. How confident can we be that this further assumption is the right one?
I think it is legitimate to make assumptions that involve people making systematic expectations error. More than that, I think we have to make such assumptions to understand certain behavioural patterns that occur in the real world. It is quite clear that people do make expectations errors and consequences follow from this. These are things we need to be able to explain as economists and they cannot be explained by appealing to rational expectations.
However, what I think is really important is that we understand the extent to which our results depend on our assumptions about expectations formation. It may be appropriate to assume that people make systematic errors, but we should still have some idea of how the model would perform under rational expectations. This will inform us on the extent to which our result depends on these assumptions. This is important, as any assumption we make about expectations is unlikely to be reliable.
Of course incorporation of rational expectations into models is not straightforward. In many cases, expectations can be self-fulfilling, so use of that assumption can lead to indeterminate solutions. Furthermore, adapting the structure and other assumptions of the model simply so that it can solved whilst preserving the preferred expectations theory, is not really a helpful approach. We might decide that rational expectations just doesn't work in our model. But that's not a good reason to abandon the model.
So we should always ask ourselves how the model would perform under rational expectations. If we conclude then that our result depends purely on an expectation error, that doesn't invalidate the result. But it is something we need to know and understand.