Ready message only applies if the a/c has a CTOT.
The formula we should use (in the European area) for departures with no CTOT is:
Earliest airborne time = (EOBT - 15 + taxy time) to EOBT + 15 + taxy time.
Declared taxy times vary depending on airport, time of day and wx conditions.
At my airport, for example, this means airborne between EOBT - 5 until EOBT + 25 for a departure without a CTOT. So start-up clearances are timed to allow for this, and current traffic conditions.
It can be frustrating for all, but hey - rules are rules. They do, actually, have a reason (so I'm told). Personally, I blame Brussels...