Compress before tarring is a really dumb idea and you will get terrible compression ratios - you cannot exploit data patterns across files. It could work if you ask gzip to write some sort of a global table...
You also make a bad block affect potentially every file following it. When if you compress pre-tar you could find the next file boundary and recover the rest.