I am sorry to hear that you have problems with creating document fragment.
Regarding the additional paragraph inserted before the elements in the fragment, this should happen only if the first element in the fragment is table. We are aware of this problem and it is actually already fixed and should be available with 2015 Q1 SP1 expected earlier next month.
Regarding to the problem with copying custom annotation range properties, my suggestion is to move that logic into CopyPropertiesFromOverride method. This method is created with the goal to copy any additional properties of the element.
When it comes to CopyContentFromOverride method the intention behind it is to allow copy of the element content . By content I have in mind text, image source etc. In the case of custom annotations there is no content that should be copied. Nevertheless it is a problem that the method is not called when the copy is made. That is why I have logged bug report
to our feedback portal.
I hope this information is helpful for you. In case this is not sufficient, could you provide more information about the actual elements which should be inserted in the DocumentFragment.