Check out the Ecobee 3 Thermostat. Similar to the Nest, but rather then learn your habits it has a motion sensor. I live in a smaller 3 story row house so the base package comes with a base (which is a sensor) and one additional sensor for the base price of 225 or so. You can buy up to 30 of little sensors (which is overkill). The sensor are expensive so if you are in a larger house this may not be the way to go (Think $75 for two)
The way it works is that you set the temperature you want it to be and it will either:
1) Follow you so rooms you are in it uses the temperature of those rooms only (avg) or if just one room/floor just that sensor OR
2) Constantly averages the temperature between the two sensors regardless of movement.
Now this doesn't fundamentally change the issue of airflow/ducts/etc, but at least if you want to set the 2nd story bedroom sensor to be 72 degrees from 11 PM to 7 AM it will make sure it is that temperature. It could be considerably warmer or colder on the first floor.
I haven't used or seen the nest, but the app is free and pretty useful. It learns in the sense that if you want it to be X degrees at 6 AM then it sees how long it takes to reach that time and will turn on prior and not at 6 AM. I believe it takes into account the outside temperature.
It also tapers the temperatures if you average so just because you haven't been in an area where the sensor is doesn't mean that 30 minutes later that sensor isn't taken into consideration. I didn't get a direct answer on the tapering times from support.
In the end it helps to serve our purpose, but clearly you need to be strategic where you mount the base unit. The sensors are tiny like 2 by 2 so they are portable, but again placed in the wrong spot with kids running around and it may not be the best. You could buy more sensors to offset that, but then you are adding some serious cost.
Also check your logical utility company many have rebates for thermostat purposes as well I know we had one.