1. Delegate election is not very "democratic". The top delegate - market.cn.group101 - got only 16.71% according to https://bitsharesblocks.com/delegates. The issue can be completely or partially solved with another voting approach.
I'm not sure what you are proposing as an alternative here, but I think the issue is simply voter apathy. Ideally we would have all 101 delegates have 100% approval. More realistically, it would be nice if the delegate at rank 101 had at least 50% approval. I don't know if we will ever get to that level, but I think things can be significantly improved when we have lightweight clients with easy-to-use cold storage and restricted_owner features (you keep your BTS wealth in cold storage but can change the votes from the hot client).
2. Delegates control the only mean of communication available to bots and smart contracts. The same problem as in a state that controls all mass media arises. Humans can use other means of communication (e.g. this forum) but DACs don't have this option. The issue can be solved by introducing something leading to "separation of powers".
We already have separation of powers (if I understand what you mean by that correctly). A single honest delegate can introduce true information into the blockchain. I already discussed this back in your previous thread
. Yes, if all 101 active delegates are simultaneously corrupted then you cannot get information that the delegates find undesirable into the blockchain, but that is the time when you are forced to do the hard fork. It is inconvenient but it is a measure of last resort that allows the system to recover and the good news is it should be incredibly rare for all 101 active delegates to be simultaneously compromised.
3. Delegates validate blocks one by one. Several branches of the blockchain may exist and compete against each other. Voted-out delegates may generate a fake blockchain to trick newly connected nodes. Something similar to Economic Clustering (Nxt) could solve this issue completely. Validation of every block by 51 delegates may solve the issue of competing branches.
If it helps you can think of each consensus unit not as a block but rather a round of blocks (101 blocks). It just means each unit takes 17 minutes rather than 10 seconds to be confirmed. I do however think that a super majority of delegates should be allowed to generate a signature validating the previous block to speed up the process of confirming new consensus units. I discussed that in this proposal
3. Fake blockchain is a blockchain where voted-out delegates excluded transactions that pushed them out of top 101. Online nodes will reject such the blockchain but catching up ones may jump on it eventually. Temporary network fragmentation may lead to inability to bound at least 51 delegates to the same branch. Also, it's possible to cause the fragmentation by controlling 33 delegates and having fast connections to honest delegates. Economic Clustering is explained here - https://nxtforum.org/news-and-announcements/economic-clustering/.
From your link I take Economic Clustering to mean the following:
From technical point of view it means that if someone decides to rewrite the history of the blockchain he won't be able to include transactions of those who don't take part in the attack, because every transaction contains the id of one of the recent blocks.
This seems a lot like Transactions-as-Proof-of-Stake (TaPoS). When BitShares was upgraded to DPOS this feature of binding each transaction not to only the chain ID but to a more recent block of the chain was removed. I think this was a mistake because of attacks like the following discussed in this post
. In that post I suggested bringing back the ability/requirement for a transaction to reference a recent block (which seems to be what you mean by Economic Clustering if I understood you correctly):
But if this is not satisfying enough, there is another measure that can be taken to be extra cautious. We can bring back TaPOS on top of DPOS. The transactions do not need to reference the previous block, they can reference a block well enough in the past that is well establish. The point is that TaPOS would make it impossible to even include those unvoting transactions in your fake blockchain.
However, this only makes a very unlikely attack impossible. This hypothetical attack isn't very serious (read the full post to see why).
Furthermore, I do not see how this Economic Clustering completely solves the Nothing-at-Stake problem as you claim in your post. The attacker producing the fake blockchain can simply remove everyone else's transactions from their fake blockchain and include their own transactions between sockpuppets to make it appear that the fake blockchain is valid. If they are able to trick the user onto that chain, they could then carry out the double-spend attack. The only problem for the attacker is if the victim is recovering an existing account where they have already made outgoing transactions to people that they expect to see in their transaction history (that is something that cannot be faked by the attacker). Even incoming transactions can be faked if the fake blockchain starts far enough in the past such that the parties that sent the victim the funds had not yet registered their account names on the blockchain (assuming the victim had not pinned the BTS public keys of their contacts in a wallet backup of course).