My blinds controller reads an LDR (Light Dependent Resistor) to sense how bright or dark it is outside. So, in the morning, once the brightness gets above a certain level, it opens the blinds.
I have the opening time set at 2 minutes I believe. The motor turns for exactly 2 minutes, which is the perfect amount of time to open my blinds. It's been running for a few years now, and I haven't really noticed any mis-alignment, as in the blinds not opening/closing all the way.
One question would be whether you have the blinds where you twist a rod, or pull a string to open/close. The rod twisting would probably be more accurate, but my blinds are the string kind, and my system has still stayed quite accurate.