It looks there are some faces inside your mesh, where he is supposed to be mirrored. Remove them, you shouldn't have faces inside such mesh.
Then, a few things:
Don't apply your modifiers unless you need to. Modifiers are made to be non-destructive editable, removable. If you apply your modifiers, you lose all that, losing flexibility, performances, ...
In your mirror modifier, you might want do enable Merge and Clipping. Merge will allow the modifier to merge overlapping vertices into one while clipping will "block" your vertices from going through the mirroring plane.
Then, you might need to adjust your mesh. The mirror modifier uses the object's origin to determine where he works. If your mesh isn't correctly positioned from your object origin, you will need to adjust it.
About the black faces, it's because their normals are inverted. Simply select them in edit mode and press CtrlN to recalculate the normals. You might need to invert the result (via the invert checkbox in the left bar or in the F6 menu).