Firstly, if you have set up your permissions correctly, users aren't 'moved' from one group to another. They are added to (or removed from) additional secondary groups. The primary group should always be Registered. See Implementing permissions across multiple user groups on how to do this.
Once you've done this, you can use User Criteria by Waindigo, which adds a bunch more criteria including user hasn't posted for at least X days and user has posted at least X times in the last Y days. I use the second one to promote users who post a certain number of posts within a period of time, so giving them more capabilities on the forums. If they don't post enough, they don't get promoted (or get removed from the secondary group) and so don't have the additional functionality.