Do you still have a copy of the wallet.dat before you ran -salvagewallet? Apparently, salvagewallet can make things worse... so I'd suggest that you start each attempt with a fresh "copy" of the wallet.dat file... and only ever work on the copies
In any case, your recovery attempt with pywallet seems a little off... as far as I'm aware, you can't run it on a file... only on disk/partition. So, my suggestion is to put the wallet.dat on a "small" USB stick... ideally less that 4GB... then use:
python pywallet.py --recover --recov_device=/dev/sdb1 --recov_size=4Gio --recov_outputdir=./recovered
as per this post:
https://bitcointalk.org/index.php?topic=1404609.msg14257235#msg14257235Obviously replace /dev/sdb1 with whatever the actual path to where the USB stick is mounted... I've done this on a Windows box and it was able to recover keys from an encrypted wallet.dat... if you can create a 1GB partition on the disk, even better, it'll reduce the time it spends scanning by quite a bit!