Earthquake prediction really is a contentious issue, especially after the l'Aqula trials. However, let me try to elaborate how predictions might be possible in the future and what is inhibiting this development.
We do have some understanding of earthquakes and rupture mechanisms. However, for prediction in a scale of hours (sufficient for evacuation), we have to take the following into account. The stress fields in the crust are basically applying the pressure necessary for earthquakes. However, these are difficult to measure and different stresses may apply to the same region (local, regional, global stress fields). Just look at the world stress map below, how chaotic the different influences are.
Stress

These stresses are also pretty difficult to measure. These methods include (Source World Stress Map):
- Earthquake focal mechanisms
- Well bore breakouts and drilling-induced fractures
- In-situ stress measurements (overcoring, hydraulic fracturing, borehole slotter)
- Young geologic data (from fault-slip analysis and volcanic vent alignments)
These may sometimes give contradictory stress tensors. One of these reasons is that in-situ measurements are often more localized than focal mechanisms (as an example). But when we look at the map, we do have a lot of data (27.000 data points). Here another big problem comes into play:
Material
While geophysicists like to assume that the ground is homogeneous, it really isn't. A rupture may occur when the material at a fault fails under pressure. Yet the material is highly diverse and includes cracks and fractures that make it virtually impossible to make an accurate assessment. The material may act elastic, ductile or brittle and that may be location-dependent. From this you cannot say if a small rupture triggers a larger earthquake due to stress transfer or if it stays a small earthquake.
What would be to improve
This would make a simulation highly chaotic and the prediction would have a high probability to be false positive or false negative, therefore, decreasing the reliability significantly.
In the end we would have to improve our understanding of:
- Stress fields
- Stress-Strain relations
- Rupture mechanisms
- Material science and location
Early Warning in California
Nevertheless, an earthquake early warning (EEW) system is being implemented in California (and tested). It's called CISN ShakeAlert. They can use the trick that so-called P-waves of earthquakes are faster (and less destructive) than surface waves. This can give valuable time to safety-relevant systems like nuclear plants or high speed trains. But this is in a very early stage, when an earthquake already happened and is bound to arrive somewhere.
(I would have loved to put down more links, but my rep is too low, so see Wikipedia for Rupture Mechanics, Stress-Strain relations, the World Stress Map website and the CISN ShakeAlert website.)