My two cents:
First, I'd lose the paprika as its flavor is not only subtle, it also doesn't stand up to long cooking. I'd replace it with more flavorful ground chilies, a blend of 2 or, ditching the chili powder as well, a blend of 3. Much more depth.
I'd replace the garlic and onion salts with granulated garlic and onion and change the ratios.
Cayenne has heat but little flavor so I'd drop that and use a flavorful hotter chile in the chile blend above.
I'd alter the black-white pepper ratio.
I'd use thyme as the primary herb, marjoram and perhaps bay in secondary roles.
I'd cut the cumin a little and add a couple or three 'sweet' spices--allspice, ginger and cinnamon--in small quantities.
Salting the meat first, separately, and keeping salt out of the rub, allows you to use as much or as little rub as you wish without affecting salt levels.
Thus:
1/2 c sugar--consider light brown or turbinado
Chile blend:
3 T ancho, 2 T guajillo, 1 T aji amarillo
or
3 T ancho, 2 T guajillo, 1 T cascabel
or
2 T ancho, 1.5 T guajillo, 1 T aji amarillo, .5 T cascabel
1/3 c granulated onion
1/4 c granulated garlic
3 T thyme (a Mediterranean or Spanish thyme--if French is all that is available, cut to 1 T)
1 t marjoram
1 t powdered bay leaf
1.5 t white pepper
1.5 t black pepper
1.5 t allspice
1 t ginger
.5 t cumin
.5 t cinnamon
T=tablespoon t=teaspoon
For best flavor buy quality ingredients!
You'd likely find whole anchos, and cascabels in area markets (you can toast them and grind them yourself) but not the powdered form and not aji amarillos. All are available in ground form from
here. (They are also available whole from the same site.)
Penzeys carries the other spices and herbs and has excellent quality. They only carry French thyme though now for some reason (I need to write and complain). I like it, but not as much as Spanish or 'Mediterranean' for pork and beef. Thyme I get
here. (They carry lemon thyme too, a worthwhile addition to your stash--great on poultry, in dressings and dips, on fish, etc.)
Salt: Place your ribs in front of you. Imagine that they are cooked already, but with no salt. Sprinkle salt on the ribs (both sides) in the amount you would had they been served to you this way. Allow them to sit for several minutes to allow the salt to draw moisture to the surface; apply the rub over the salt. For butt, do the same but apply a larger quantity of salt to compensate for its thickness. Apply the rub after the salt draws moisture then, if desired, wait several more minutes as the moisture moistens the rub and apply more rub.
Hope this helps.