A starting point for a classification (up to conjugation) is the Burnside theorem:
there is no irreducible subalgebra in M_n(C) other than M_n(C) and {0}.
An elementary proof is given by Lomonosov Rosenthal (2003), I think it can be found online. There are also versions of the Burnside theorem for the field of real numbers R and the quaternions H.
With this theorem at hand, you can easily list all subalgebras of M_2(C). Restricting to the subalgebras containing id, we get the upper triangular matrices, upper triangular with the two diagonal terms being equal, diagonal matrices, diagonal matrices with the two diagonal terms being equal (and I think that's all, up to conjuguacy).
I would guess however, that there is no algorithm that can decide if two matrix algebras on some arbitrary field are isomorphic in general (but I may be wrong on that point).