Not every transaction depends on the transaction before it. You can parallelize 99.9% of transaction processing and keep 0.01% serial [if one transaction depends on the one before it in the same block].
What is the source of your numbers?
I don't have a source. I don't think it's needed in this case.
Look at this block for example:
https://blockchain.info/block/000000000000000000c0e693dd6c552e8ba40ac63d978f7cef1b49cce03f8c7dWhile there are some chains of transactions [I can see even one chain of 10tx!] they are exception. Most of transactions are using transactions from previous blocks. These can be easily parallelized.
Even if there were many chains in the block which would make parallel processing difficult [lots of waiting for chain to complete], it'd be quite easy to fix on miner side. [Make chains spread out all over the block, don't keep chain together when you forge a block.]
Something like this could also help where you link transactions back to the ones they rely on seeing first though my initial thought is that dipping into negative balances may be easier to implement and enforce.