I agree with Elianamatthos. First as a developer, you should not project your opinions into the product as you are much more technically sophisticated that the typical user. What you see as second nature can confuse them.
Misspelling of an email address is a very common issues, and a double entry field is also quite common. You want to catch the errors up front, not in bounce handling, at which point you have lost the connection to someone that was trying to subscribe.
This is actually quite easy to implement. Almost ALL other applications that allow you to build custom fields and forms, support conditional fields, where the validation of a field can be set to be equal to another named field. If the test fails, you cannot submit the form. So when you have email2 must equal email, the user cannot submit the form until these are equal. I don't understand the perspective that it can't be done, when many other do this.