I've read all the existing answers long ago but still feel that none have gotten to the heart of the issue. We obtain mathematical results through a process of reasoning. That reasoning must be logical and enough to convince anyone that our results are correct given our initial assumptions. That is the actual purpose of a proof. It does not matter what form the reasoning takes, whether using only words or only mathematical symbols or only a diagram. The requirement is simply to convince the other person. If we cannot do so, then our reasoning is insufficient or incorrect.
This proper attitude must start right from the basics. For example $\frac{1+2}{1+3} \ne \frac{\not{1}+2}{\not{1}+3}$. Explaining to the student that one cannot do that is almost useless. Instead, the student should be asked: "Why do you cancel?" and then "Why does cancelling keep the value the same?".
The problem is that if this is not done from the beginning of arithmetic, it simply causes students to create for themselves a deep quagmire of guesswork in order to heuristically write down things which they believe will get them their grades. If you have seen students who try to mimic their teachers' phrasing but clearly without understanding of the meaning, or students who care only about how to get the answer and not why the method is correct, you know what I mean.
As a result, very few students have a full grasp of even the fundamentals, namely the field of rationals. What I mean by this is that few are able to state all the field axioms correctly and prove results like the uniqueness of inverses (when they exist) and that $0 \times x = 0$ and that $-x \times -y = x \times y$. (Out of these, fewer still can give any explanation as to the rationale for the axioms, but that is another topic.)
It is obvious that with a proper foundation as I briefly described above, no student would ever write $(a+b)^2 = a^2+b^2$. Why? Because they know that "$x^2$" is defined as "$x \times x$" and "$()$" are used to denote what to do first, so $(a+b)^2 = (a+b) \times (a+b)$. Moreover, they also would know the distributivity field axiom that gives first $(a+b) \times (a+b) = a \times (a+b) + b \times (a+b)$ and then after 2 more applications the full expansion, using the commutativity and associativity axioms. Likewise none of the other mistakes that you mentioned would occur.
Furthermore, if students cannot handle the field axioms correctly, one might as well throw the induction axiom out of the window. The way it is taught in most textbooks and curricula is seriously lacking, precisely because it is not based on sufficiently formal reasoning. A simple example that most students who were brought up with textbook induction fail to solve is:
Given a function $f:\mathbb{Z}\to\mathbb{R}$ such that $f(0) = 0$ and $f(1) = 1$ and $f(x+1) + 6 f(x-1) = 5 f(x)$ for any $x \in \mathbb{Z}$, prove that $f(x) = 3^x - 2^x$ for any $x \in \mathbb{Z}$.
It is not hard at all, but only those who understand the logical structure of induction would be able to give a correct proof. In case anyone is wondering what I mean by textbook induction, two examples that I would consider seriously lacking are:
Finally, proper reasoning naturally requires sufficient precision, because one cannot reason logically about statements whose meaning is undefined or unclear. Vagueness in mathematics is one great recipe for confusion. This must start with the teacher. A teacher who is sloppy with mathematical statements or steps in reasoning is simply telling the students that it is alright to be sloppy and by extension it is alright if they do not know what they are doing as long as they get the answer!
One terrible example of sloppiness in most high-school curricula is solving differential equations by "separating variables". Try giving the following to any student:
Solve for $y$ as a function of a real variable $x$ given that the differential equation $\frac{dy}{dx} = 2\sqrt{y}$ holds.
You know what answer to expect, and I hope you know the correct answer. Even Wolfram Alpha gets it wrong. Now for students who give the wrong answer, tell them that it is wrong but do not tell them the correct answer, and ask if they can identify the mistake and fix it. Most will fail to identify the mistake, and fixing the mistake will require the foundation in logic that most students do not have.
Here are the solution sketches for the problems I've given above. I strongly encourage one to thoroughly check one's own work to verify whether each step follows completely logically from the preceding deductions, and merely look at these solutions to confirm.
Problem
Given a function $f:\mathbb{Z}\to\mathbb{R}$ such that $f(0) = 0$ and $f(1) = 1$ and $f(x+1) + 6 f(x-1) = 5 f(x)$ for any $x \in \mathbb{Z}$, prove that $f(x) = 3^x - 2^x$ for any $x \in \mathbb{Z}$.
Hints
Induction only allows you to derive something about the natural numbers. The desired theorem is about integers. Also, if you cannot prove the implication needed for the induction, a key technique that often works is to strengthen the induction hypothesis to include enough information so that you can prove the implication step. Of course that also means that the implication you need to prove has changed!
Solution sketch
First notice that the theorem to be proven is that $f(x) = 3^x - 2^x$ for all integers $x$, and so induction in one direction is not enough! Also, notice that it is impossible to prove that $f(x) = 3^x - 2^x$ implies $f(x+1) = 3^{x+1} - 2^{x+1}$, and hence the induction hypothesis must contain information about at least two 'data points' for $f$. The easiest one would be to let $P(x)$ be "$f(x) = 3^x - 2^x$ and $f(x-1) = 3^{x-1} - 2^{x-1}$". Then one must prove $P(x+1)$, which expands to "$f(x+1) = 3^{x+1} - 2^{x+1}$ and $f(x) = 3^x - 2^x$". I would not accept if the student does not fully prove $P(x+1)$. This would handle the natural numbers, and a similar induction would handle the negative integers. It is of course possible to combine both inductions into one, which it should be explored, although in general it is good to keep a proof as modular as possible.
Problem
Solve for $y$ as a function of a real variable $x$ given that the differential equation $\frac{dy}{dx} = 2\sqrt{y}$ holds.
Hint
The answer is not $y = (x+a)^2$, which you would get by the method of separating variables. What went wrong? Note that the error would still be there if you used the theorem that allows change of variables in an integral. Look carefully at each deduction step. One step cannot be justified based on any axiom. Think basic arithmetic. After you get that, you need to consider cases and use the completeness axiom for reals to extend the open intervals on which the standard solution works.
Solution sketch
The field axioms only give you a multiplicative inverse when it is not zero. Now how to solve the problem? Split into cases. Note that you need to work on intervals since having isolated points where $y$ is nonzero is useless. First prove that for any point where $y \ne 0$, there is an open interval around $x$ for which $y \ne 0$. Then we can use the completeness axiom for reals to extend the interval in both directions as far as $y \ne 0$. Now we can use any method to solve for $y$ on that interval. Note that the method of separating variables is formally invalid, so we should use the change of variables substitution. But the prerequisite for that is that $\frac{dy}{dx}$ is continuous, so we need to prove that! Well, $y$ is differentiable and hence continuous, so $2\sqrt{y}$ is continuous. So we get the solution on the extended interval, and it shows that $y$ becomes zero in exactly one direction in this example. Hence after some checking you will get either $y = 0$ or $y = \cases{ 0 & if $x \le a$ \\ (x-a)^2 & if $x > a$ }$ for some real $a$.
Alternative subproof
In fact, the substitution theorem can be completely avoided as follows. On any interval $I$ where $y \ne 0$, we have $y'^2 = 4y$, where "${}'$" denotes the derivative with respect to $x$. Thus $(y'^2)' = (4y)'$, which gives $2y'y'' = 4y'$, and hence $y'' = 2$ since $y' = 2\sqrt{y} \ne 0$. Thus $y' = 2x+c$ on $I$ for some real $c$, and hence $y = x^2+cx+d$ on $I$ for some real $d$. Note that most of the above steps are not reversible and hence we need to check all the solutions we finally obtain with the original differential equation. We would get $c^2 = 4d$. After simple manipulation we obtain the same result for $y$ on $I$ as in the other solution. The other parts of the solution still need to be there.