There are indeed downsides with regard to reverse complement, but there are multiple benefits you have overlooked. 1) better compression. 2) Easier for programmers. If BAM kept reads in the original strand, every pileup, alignment viewer, variant caller, NM/MD recomputer and quality recalibrator would have to reverse complement half of reads. 3) Making the sequence consistent with CIGAR on the reference strand. Note that for variant calling, you can hardly use CIGAR on the read strand; that way you would need to left align gaps for forward reads and right align gaps for reverse reads, which is hugely confusing. 4) Easier for eyeballing.
There was a long discussion on how to keep paired-end reads. We evaluated alternatives like requiring /[12] in read names, adding a new fixed column, using tags, etc. The consensus is the current SAM way. I have concerns myself, but I see that is the best we could come up with. If you have better ideas, let me know. Also on the fasta/fastq format, it is wrong to say "truncating the names at the first space". Everything after the first space is not part of the read name. You never truncate names at spaces.