Wiem, że to nie jest rozwiązanie, ale ucieczka od problemu. Miałam podobny problem chciałam wyśrodkować imageview dodałam do imageview: android:layout_marginTop="155dp"
W ten sposób na "oko" wymierzyłam aby to było mniej więcej po środku. Oczywiście to nie jest rozwiązanie bo dla różnych ekranów inna wysokość powodowałaby aby listview czy imageview jak ja miałam było na środku.
http://stackoverflow.com/questions/12341936/how-to-center-a-listview-in-a-linerlayout-in-android
Nie testowałam tego, ale spójrz na to rozwiązanie: android:layout_centerInParent="true"
Ustawia widget po środku widgetu(obiektu?) w którym się znajduje.
Ogólnie poszukaj, dla różnych widgetów, czy w ogóle pomijając nazwę widgetu w google, ponieważ nie ma wpływu czy chcemy wypośrodkować listview, gridview czy textview. Metoda/y są raczej takie same. Szukając tylko dla listview ograniczasz się i możliwe że nie znajdziesz rozwiązania które Ci odpowiada.