Их сначала не было, потому добавили так чтобы не поломать старое. Будь мужиком передай Class<T> klass руками. Или используй Scala, она умеет передавать Class<T> klass своими руками неявно )
От людей «близких к телу» слышал, что в будущих версиях Java планируется информацию о типах-параметрах таки утащить в байт-код, и что это как-то связано с project lambda. Может кто больше знает?
Если про избавление от type-erasure - то это одна из фич, которая может стать частью java 9/10. Недавно предлагалось даже высказаться о всех приемуществах/недостатках этого костыля в опросе на surveymonkey.
Если же о value-types, то это чуть ближе в воплощению в жизнь, по крайней мере на это есть jep (что, впрочем, еще ничего не значет).