1) INFURA (https://infura.io/) maintains those remote nodes.
2) You can trust those nodes for two reasons: Uptime and Relay of signed transactions (as opposed of keeping your private key in our servers). We strive to keep an uptime of 100% (which is our latest record). Transaction-wise, it is you, from your local machine the one that signs the transaction with your private key. That way you don't need to worry that we can use your account for malicious purposes. All that INFURA does is relaying that transaction to the network to be mined.
3) Everybody can setup the same service in their machine. You just need to run a local node and synchronise it with the network you want, then open the RPC to receive transactions only from 127.0.0.1, this means, only your machine can send signed transactions and reading requests to that node. If you set up the RPC feature to listen 0.0.0.0, you will be exposed to attacks from the outside.
Other security suggestions, but more advanced to implement, would be to setup a firewall to incoming requests to your machine to the RPC port and staying behind your home router (that's pretty enough in most cases).
TLDR: INFURA is the remote service behind metamask. INFURA does not keep your private keys, what you send is the only thing that gets relayed. INFURA core competence is keeping nodes in the network synchronized, releasing the user to worry about that matter.