What do pruning nodes contribute to the network? Pruning nodes are described in the sourcecode thusly:  


  -prune=&lt;n&gt;: Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan.


I’ve watched that my node has been consistently uploading less than it has been downloading since I set it to run in pruning mode.


What services do pruning nodes still perform?
Do they upload blocks and transactions? 
Can they service thin clients? 
What can a pruning node not do, that a non-pruning node does?
From release notes https://bitcoin.org/en/release/v0.11.0 :


  For now, block pruning disables block relay. In the future, nodes with block pruning will at a minimum relay “new” blocks, meaning blocks that extend their active chain.


In the current version pruning nodes don't advertise themselves as having any blocks, so they don't upload blocks. So that explains your big reduction in upstream data. A future update will re-enable block relay in such a way that your nodes can efficiently let its peers know which blocks it owns and which it doesn't.

Yes your pruning node will do full validation and it will service lightweight nodes.