How to assign user ranks based on their userpoints?
Your question seems like a perfect usecase for the Goals module (disclosure: I'm its maintainer). It can be used in combination with the userpoints module, though you'd use that combination by granting user points "after a goal is completed". 

Here is a possible configuration for your specific case:


Define 3 goals like so:


Junior Member
Senior Member
Premier Member

To achieve goal "Junior Member", define the Task(s) to be completed. E.g.:


Publish 1 (or some other amount of) articles.
Post 1 (or some other amount of) comments.

To achieve goal "Senior Member", define the Task(s) to be completed. E.g. publish 10 articles and post 20 comments.
To achieve goal "Premier Member", define the Task(s) to be completed. E.g. publish 25 articles and post 50 comments.
Write the appropriate rules, using the Rules module, to track process on completing the various tasks. Basically you'd only need 2 (extremely basic) rules, which would be triggered like so:


After publishing an article.
After posting a comment.


Note that these very 2 rules can be re-used to measure progress on each of the 3 rules. If you want, you could expand these rules (with an extra rules action) to also assign userpoints, to implement your userpoints design you have in mind.


Refer to my answer to "How to implement gamification in a Drupal site and award incentives?" for way more details about the Goals module.

Note: Using Goals only requires typical administration tasks (configuration), though it does come with various hooks also for custom module development (if you want to).