Current public transport journey planners are mostly based on timetables, i.e., their planning assumes implicitly that all transit vehicles run on schedule. Unfortunately, this is not always the case, as unpredictable delays may occur frequently and for many unplanned reasons. In this scenario, deviations from the original schedule may have quite a negative impact on the quality of the journeys provided by timetable-based planners, as they increase the probability of missed connections and thus result in longer and unpredicted waiting times for the passengers. In this paper, we try to find effective solutions for mitigating this problem and evaluate them empirically on the metropolitan public transportation network of Rome (Italy), where delays are frequent. We first try to assess whether the availability of dynamic information on the geo-location of transit vehicles (via GPS data) may help to improve the quality of the journeys offered by a planner. The main findings of our experiments are that GSP data provides substantial benefits for short journeys, while it does not seem to provide enough insight to improve long journeys. In particular, even with the use of GPS data, a journey planner can still be rather unreliable for long journeys, as there can be large fluctuations between the times predicted by the planner and the actual travel times incurred by passengers. As a second contribution of our work, we provide and evaluate experimentally new routing algorithms to improve the reliability of public transport journey planners.