How can I schedule a rule to always be run at a specific hour of the day?
How about this: 

When you're setting the time in the "Scheduled Evaluation Date" section, change it from 'Direct input' to 'Selection mode', and scroll down to where it gives you the option for 'PHP Evalution'

Paste in the following:

&lt;?php
$midnight = strtotime('midnight');
echo date("Y-m-d h:i:s", $midnight);
?&gt;


This should return something like '2013-03-25 12:00:00' // That's what it's returning for today!

You have to include the php brackets.  The strtotime() function should return back midnight of the current day, so it should work for you. I'm thinking since this is based on your cron running, it will not be exact and this should evaluate a little past midnight and 'midnight of the current' day should be exactly what you need.  Maybe you can find a php tweak that makes this better...

Anyway, let us know if that works!