Remove duplicates from sorted array, in place
I don't see any way to greatly increase performance since your algorithm is already O(n).

However, there is a minor optimization that can be made.  You should try to avoid having a calculation as the limit in a for loop.  This gets calculated on each iteration of the loop.  Initialize a variable with the result and use that instead:

public int removeDuplicates(int[] numbers) {
    if(numbers.length == 0 || numbers.length == 1) {
        return numbers.length;
    }
    int indexForUniqueElements = 0;
    int limit = numbers.length - 1;
    for (int index = 0; index &lt; limit; index++) {
        if (numbers[index] != numbers[index+1]) {
            numbers[indexForUniqueElements++] = numbers[index];
          }
    }
    numbers[indexForUniqueElements++] = numbers[numbers.length - 1];
    return indexForUniqueElements;
  }