Alternating Post Styles on Homepage

You can add custom classes to each post. Here is a quick example of one approach:

add_action('post_class','YOURNAME_post_class');

function YOURNAME_post_class( $classes ) {

    global $wp_query;

    if( ! $wp_query->is_main_query() )
        return $classes;

    $classes[] = 'class-on-all-posts';
    if( 0 == $wp_query->current_post || 0 == $wp_query->current_post % 3 )
        $classes[] = 'class-on-every-third-post';
    if( 0 == $wp_query->current_post || 0 == $wp_query->current_post % 2 )
        $classes[] = 'class-on-every-second-post';
    return $classes;


}

You can then tweak the image and div alignment css based on the post classes.