Plot hole: Silva spent years planning his revenge against M, yet the ability to carry out his plan depended on conditions that were entirely out of his control, such as being captured by MI-6 despite having no way of knowing that Bond was coming for him, and only escaping custody because Q triggers the Trojan - there's no way Silva could predict when that would happen, could have been hours, days, weeks, or never. He then ambushes M at the courthouse despite having no way of knowing that she would be there that day.
Plot hole: When Bond climbs out of the lift, he has been hanging onto underneath, how does he know the villain went right and to go that way? Yes, the lights come on automatically when someone walks past them, but Bond was climbing up and out of a lift. By the time he gets to the hall, all the lights are out.
Suggested correction: His plan was always to blow a hole in the tube to have a train crash at that location. This would have caused mayhem and take up a lot of resources (police/ambulance/fire). Bond chasing him had no impact on this part of the plan. Then when his team picked him up, his team would have known where M would have been on that day and would have driven him there. With resources on high at the train crash site, it would have made it easier to reach M.
XIII
This aspect is a bit of a plot hole for me too - one of the factors outside Silva's control is when he can escape MI6 custody, which depends on when Q triggers the 'Granborough' Trojan, which Q only spots with a bit of help from Bond. That triggering could have been hours, days, weeks or never - pretty fraught with risk to rely on individual(s) making that happen at a plot-convenient moment... otherwise Silva has a bunch of associates hanging around London for a few days permanently on a few minutes alert for a random event.