How to delay sending emails using Rules to avoid being considered as a spammer?
Below is a summary of how you can get this to work:


Introduce an additional flag to allow "flagging" these (new) nodes by all users "who subscribed on another user to get messages" (as in your question). Let's assume you label that flag as "eMail notification outstanding" (to indicate that something still needs to happen to send that eMail later on).
Adapt the rule you already have, like so:


Remove the Rules Action "send eMail".
Flag the newly saved content, using the new flag (from step 1) for each of the users you already have in your existing list in your existing Rules Action.

Use the Views and the Views bulk operations (VBO) modules to create a VBO list of all flagged nodes (flagged by the new flag in step 1), sorted by flagging date (oldest first), and limit the results to the first X users only (pick a value for X that fits your needs).
Create a new Rules Component that "loads the VBO list" (from step 3) and add a loop to that rule to perform these Rules Actions:


eMail each of the users in that VBO list (you can probably reuse the Rules Action "send eMail" that you already had, but removed in step 2).
unflag (using flag from step 1) the node (for the user for which you just produced an eMail). This to indicate that the eMail notification was completed (no longer outstanding).


In that same rule, as the very last Rules Action, add an action to reschedule the exectuion of the same rule within Y minutes or hours  (pick a value for Y that fits your needs).
Use the Rules UI to manually trigger the very first execution of that self-rescheduling Rules Component (from step 4.).


Using the above approach, every Y minutes (or hours), Rules will notify X users "as requested".