Why not using the rule-based labeling? You could ease up the task a lot, if you use categories for multiple gradients based on your attribute data. From my point of view using categories in rule-based labeling is one of the mayor advantages of QGIS.
For your data (without knowing the structure) i would recommend the following workflow:
- Make a rule based simple gradient for your date-values via the categorized or graduated point styler (white or greyish style).
- Adjust the size of the points by clicking on "advanced" and "size scaled field". Here select the magnitude of your points. Save the resulting style as SLD style!
- Go to rule-based labeling, load jn your SLD and add for each data-point per rightclick a category (or range) with the color gradient of your liking for your depth and apply it to each ruleset.
Like this (you could also make a category on rules in a category ;-) ):
- Afterwards don't forget to adjust the rendering order and maybe control for the sizes of the points.
I understand that this solution depends on some effort (mouseclicks) on your site, but in the end a beautiful map is always worth the effort.