Working in curvilinear coordinates, one can define basis vectors corresponding to those coordinates. In the figure below (taken from here), $\{\mathbf{g_i}\}$ are base vectors corresponding to the change in $\{\Theta_i\}$. These are called covariant base vectors. One can also define another set of base vectors, $\{\mathbf{g^i}\}$, such that $\mathbf{g^i} \ \mathbf{g_j} = \delta_{i}^j$. These are called the contravariant basis and a vector $\mathbf{v}$ can be written as $\mathbf{v} = v^i \mathbf{g}_i = v_i \mathbf{g}^i$.
Now I understand that the summation convention says that if an index appears as a subscript and a superscript, the summation is implicit. My question is whether there is any (other) practical reason for denoting the components in the covariant basis with upper indices and in the contravariant basis with lower indices. For instance, it would be much more natural to me to write $\mathbf{v} = v_i \mathbf{g}_i = v^i \mathbf{g}^i$ (where now $v_i$ denotes the component $v^i$ from the figure). This way the indices in the components would match the indices in their basis: in the basis with the upper index, components would be with upper index and vice versa. The norm and scalar product would work out to be the same since $\mathbf{u} \mathbf{v} = u_i \mathbf{g}_i v^j \mathbf{g}^j = u_i v^i$. Obviously, in this case indices appearing twice at the same level have to be summed.
I also understand that the co- and contravariant components transform differently. However, here I'm interested in the benefits of the upper-lower notation as opposed to a matching, upper-upper and lower-lower notation.