Yet a another set of numbers being thrown around. Seriously why isn't there any consistency when people talk about SegWit?
Er, the numbers for Segwit I gave are no different to any other numbers provided by anyone else. 1MB tx block, 3MB witness/signature block.
Sure, the estimates for how much today's 1mB blocks trnnaltes to that have change (1.75 MB at first, now 2.1 MB). That's because they're estimates. Estimates based on how people are using the blockchain at a given moment in time (i.e. the balance between tx data and signature data). What do you want, for the whole of Bitcoin to keep using it excatly the same every day, so you can have an estimate that never changes, even though that estimate is based on changes in use?

As for compression goes, it can possible be a boon. It can also bite hard when it doesn't work correctly, I lost a disk full of data once because of that.
Not data compression, that's not what I mean. I used the "compression" expression to simplify the explanantion, but I guess I'll have to explain seeing as you've come to the wrong conclusion.
Data compression on computer disk or media files (mp3, DivX etc) just looks for patterns in data, and then keeps 1 copy of the pattern instead of every copy. Then a map of where the copies occur must be made to re-assemble the original data. If the map gets damaged, there goes your data, as there's no way to re-assemble without the map. That's what happened to your hard drive, the map got corrupted.
All I mean when I'm talking about compressing transactions is encoding the exact same information in less space, but without depending on a map charting the repetitions in the data. When the shrinking of the data doesn't need a map, the risk you're referring to is no longer an issue.
Now I haven't studied the SegWit code, and apparently that is what one would have to do to fully understand it. I did read various descriptions, even 2 different ones from Bitcoin core devs. Granted they may have been talking about different versions of the code but it really sounds like no one is on the same page here. To me as a software developer that is really scary.
If you are able to read code, you should read it. There's no room for misunderstanding if you can just read what it does, the code doesn't have differences in interpretation like humans can have when describing something. As a software developer, you can easily put your misunderstanding to rest by just reading and thinking through the code.
And sure, Segwit adds some complexity. But not really that much more, if you can understand how Bitcoin already works, Segwit is easy to understand. It's often said (by detractors) that Segwit changes millions of LoC (lines of code), but that's a bit of a trick. Segwit adds alot of LoC: but not to existing Bitcoin code. Segwit is more testing code than it is any changes to the main codebase, and as a software developer, I'm sure you understand why more testing code is diligent.