Not entirely sure if this will help, but I would remove as much as possible from the actual ISR and only leave in the truly time-critical parts (e.g. toggle the pins). For everything else (e.g. "increase 10 variables") you could raise a "flag" inside the ISR that then gets serviced in the main program.
An alternative might be to use the DMA* for the pin toggling, which could be triggered by one of the timers.
*I'm assuming the STM32F205 has a DMA controller, but haven't checked.