One way you might do it is to start processing the character after you've sampled the 8th data bit in the center of the bit. That leaves you with half of the 8th bit (about 50-usecs or 50 cycles) and the full stop bit (104-usecs or 104 cycles) to process the character before going back to wait for the next start bit.
The example is helpful but it's in ASM. Any chance to see an example of bit banged RS232 receiver in C? I have successfully managed to write an SPI receiver but that's too easy because the timing of SPI is simple. With RS232 there has to be reference to a timer and interrupt and that is where my retarded C skills fall short of figuring out how to do it