If you want the result to be clean and precise and the shape isn't rectangular, then I can only offer an awkward way to do this:
Select the edge and create a new transform orientation. Make sure the orientation is selected in the header.
Select the face, make sure a vertex of the edge is the active vertex, switch the pivot point to 'Active' and scale the face by -1 around the right axis, mirroring it along the edge.
Select everything, remove doubles and inset.
Delete the unneeded verts.
I tried other solutions but the only time the inset stays on the edge is if the edge has the same angle on both sides. If that's not the case, either the new verts miss the edge and create a jagged outline or, if corrected by hand, the inset differs in thickness.
I promised to do another awkward way of doing this and here it is:
Duplicate the bottom edge, scale it up and separate it with P.
Set the pivot point to 'Active Object, select the righ bottom vert, then Shift-select the top vert and scale up.
Do the same with the left half. Select everything, then inset. Valiantly ignore the mess down there.
Select everything and use Knife Project.
Delete the unused verts. Find a good home for the stray edge.
Good for creativity, bad for workflow ( :