EOS doesn't have to fork its blockchain if a smart contract has a bug in its code. You can stop the contract and redeploy it with a patch. Making it easy for new developers to write code with a commonly understood programming language is much better than an Application-specific language.
With regards to scaling, EOS will implement Inter-Blockchain Communications which will allow for infinite horizontal scaling through communications through different implementations of the same code, EOSIO.
Ethereum is dead in the water in regards to transaction fees because the EOS does not have any. Instead EOS uses a staking scheme to limit the blockchain resources to those who can stake tokens in the system.
Neither does Ethereum, what are you talking about? Forking the whole blockchain to update one smart contract is ludicrous. Beside have you heard of the Open Zeppelin framework, they allow for updating smart contract on Ethereum. Here's some links:
https://epicenter.tv/episode/220/,
https://openzeppelin.org/
Ethereum will implement sharding which will allow it to scale. Truth is, in the long term both chains will be roughly as fast although I admit EOS has a considerable head-start here but even EOS will bump into scalability issues eventually.
Well users of EOS will pay fees in terms of staking ever diluting in value EOS tokens to maintain their account. Plus EOS development is expensive because of speculation on the RAM / CPU market, deploying a dapp on Ethereum costs around $50 (not counting development of course, just the deployment).
It's okay to support a project but at least do your homework on the competition @dappcast