We have an add-in for all of our customers called BumpJump that sets the revision of a file based on the revision variable value. This allows users to skip revisions for imported files, etc. So the short answer is yes there are API calls that can do that. The long answer is there are a lot of issues you need to consider in writing this. For example you'll need to make sure you account for any user input that is not part of the revision scheme. Do you allow backwards revisioning? etc. If you would like to know more about feel free to contact me.
Thanks Frank, I figured there would be an API for it.