Here's my vision for the future:
Install iBeacons in every subway station, and on every GO train, GO bus, streetcar and bus. The iBeacon would sense that a smartphone has entered the vehicle (or in a subway station's case, the fare paid area), and would automatically connect to the Presto App on the Smartphone, to see if the person has an ePurse or a monthly pass.
The iBeacon would also be able to detect when the person has exited the vehicle or station, and if another iBeacon isn't detected within a certain period of time, it would charge an as-the-crow-flies point to point distance charge to that person.
If the person is on an Android phone, the Presto App could connect with either the Presto ePurse or Google Wallet to make the payment, depending on the setting the user has enabled. If it's an iPhone, it would again either use the ePurse, or the user could sign in with their Apple ID and pay through their iTunes account. The user would have the option to manually pay, but I would think most people would just choose to have the phone do everything automatically.
For people that don't have Smartphones, the physical Presto Card could do the same thing, only it would require a tap off at the end of the journey. Like today, failure to tap off would charge the maximum fare for the route they were on. For visitors, a Presto-lite Card with pre-loaded amounts could be used.
For transit companies, this would also be a valuable tool, because it would allow them to track ridership, to better tailor route timing. For security concerns with that, they could follow the approach that Apple has taken with ApplePay, and have the iBeacon assign a unique Trip ID # to each trip taken, that would be independent of fare information and the card/account used. In essence, all that Metrolinx would be able to see is that Trip ID #1027648239 departed Station X at 7:48AM, transferred to Route Y at 8:10AM, and exited the system at Station Z at 8:27AM.