Is there a way to make image and text alternate between rows?
Create a custom module as follows: 

In sites/all/modules create a directory: ds_odd_even

Add a file ds_odd_even.info under that directory.
Add the following text in that file:

name = "Display Suite Odd Even Output"
description = "Display Suite Odd Even Output."
core = "7.x"


Add a file ds_odd_even.module under same directory.
Add the following text to that file:

&lt;?php

function ds_views_row_adv_past_client($entity, $view_mode, $load_comments) {
  static $i = 0;
  $custom_view_mode = ($i++ % 2) == 1 ? 'left_client' : 'right_client';
  return render(node_view($entity, $custom_view_mode));
}


Install the module as usual. Note the function name above. It is based on the pattern: ds_views_row_adv_YOUR_VIEW_MACHINE_NAME. This is the view name from the admin/structure/views UI page, not the display name from the right hand advanced column on a view. Hence the view that this is based on has a machine name of past_client. If you add more pages and blocks to this view, the view's machine name still stays the same. Each page or block will get a display name in addition. IT IS NOT THE DISPLAY NAME that you add to the function.

Create two view modes in Display Suite.
1. left_client
2. right_client

Add two column layout to both, with alternating image and body placement.

In your view (machine name past_client) set to show Display Suite as format, and in setting select under Advanced View Mode 'Use the advanced view mode selector'.

Clear your cache for good measure. And that is it.

There is no way I see to differentiate on different displays on the same view, unfortunately. You may explore CSS as an alternative, and use the nth-child() selector to alternatively float the display suite regions left or right (make sure you have greater specificity in the cascade or use !important)