Hook into a post status transition so that any time a post is published or updated, there’s a check to see if the author is an admin. If so, update the author to a non-admin. First, get the ID of the non-admin user you want to set as the author.
// change author ID to suit your needs
$newAuthor = 3;
// hook our function to fire when any post type's status changes
add_action('transition_post_status', 'wpse_change_author', 10, 3);
function wpse_change_author($new_status, $old_status, $post) {
// only adjust published posts - which are either new or newly updated
if($new_status == 'publish') {
// check whether author is admin
if(user_can($post->post_author, 'administrator')) {
// update the post with new author ID
wp_update_post(array('ID' => $post->ID, 'post_author' => $newAuthor));
}
}
}