Change custom element Index title via getTableAttributeHtml?
I finally found the answer to this question.

From BaseElementType defineAvailableTableAttributes() docs, 


  The first item that this array returns will just identify the database
  column name, and the table column’s header, but will not have any
  effect on what shows up in the table’s body. That’s because the first
  column is reserved for displaying whatever your element model’s
  __toString() method returns (the string representation of the element).


So all you need to do is add a __toString() method in your model and return the string representation of your element:

For example:

public function __toString()
{
   return $this-&gt;id;
}


Result: