Cannot mirror bones, weight mapping impossible
You can absolutely have weight mapping in asymmetrical meshes. If the automatic weight assignement fails, probably is because the mesh is not manifold: maden of spare parts, or it has holes or bad junctions, or doubles, or something like that.

In those cases you can either improve the topology of your mesh or go with manual weighting (weight paint or weight assign in the properties panel, vertex groups section): or - even better - both.

What do you mean for "mirror tool": the mirror modifier or the mirror option checked in edit mode? Anyway they both need the origin of the object set in the proper position to act as pivot point of the mirroring.
In the mirror modifier check the clipping option for proper behaviour.