Unfortunately, this won't do anything to fix the problem, and might even make things worse for you if you don't set things up properly.
Certificates are designed to provide assurance that the public key your connection is encrypted with actually belongs to the server you are trying to connect to. It does this by using a signature from a third party certificate authority that your browser already trusts. Basically it's a signed statement from the CA saying "we have verified that this public key belongs to this website".
If you tell your browser "hey, don't trust those certificate authorities anymore, only trust certificates from the custom proxy/CA that I'm going to set up", it will, but then the question becomes: "how does this new CA decide which public keys belong to which websites"? You haven't solved the problem, just moved it. Moreover, if your custom CA isn't implemented properly it could open you up to other vulnerabilities (for example, by issuing certificates when it shouldn't, or tricking your browser into thinking a connection is encrypted when really it's not).
Unfortunately, until someone comes up with a better way for websites to distribute their public keys in a secure and verifiable way, we're stuck with CAs and the X.509 public key infrastructure.