don’t know if there is any avalabs devs here, maybe the followings points are already considered by the team ?
The 3-chain design is very good but it is a bit complicated for new users. Would be an idea to propose to new users a simplified wallet view with a single total amount of Avax and the total number of staked $avax if any. If money is sent to a c-chain address, the wallet could figure out by itself the cross chain operations needed to simplify the user experience (transfer the necessary amount from x-chain to c-chain, and then send the amount to the recipient c-chain address). The simplified methods could be integrated at the API level, or even UI level. if the 3 cross-chain operations are transparent to the user, he does not necessary needs to understand the cross chain design to transfer amounts from an address to another. Even for people knowing the system, doing the cross chain operations manually is a bit cumbersome.
Also could be a good idea for the future to think about sharding solutions, or multiple avax chains / subnets with different set of validators and cross chain operations between the networks. Once the main set of validators is big enough and security is strong, it will become interesting to split it in different parallel shards to distribute the work loads of validators, and hence multiply the TPS capacity (in the way elrond does it or any equivalent solution).