Is there a better way of getting specific pieces of data from taxonomy_term_load()?
The field_get_items() function is very useful for this sort of thing. It doesn't produce shorter code, but it's more structured and a lot easier to get your head round than the endless arrays of data:

// Get the items for a particular field
$field_items = field_get_items('taxonomy_term', $track_tax, 'field_track_icon');

// Get the first item (fields can have multiple items so field_get_items always returns an array)
$first_item = array_shift($field_items);

// Get the URI
$uri = $first_item['uri'];


Using that method has the added benefit of automatic language negotiation, so you can avoid having to get that from context or just relying on 'und'.

I should also say the use of this function isn't limited to taxonomy terms; you can use it to get field values for any type of entity.