It can be an object, a bone, a dummy, a point, a proxy, etc. I usually use points or dummies for my bones so I don't accidentally convert them to objects.
Just make sure that the pivot point has the red arrow pointing in the direction you want it to. Angle snap toggle comes in handy here, it makes you rotate things in increments of 5 degrees.
I have got the hard points to connect but all the weapon hardpoints dont shoot. Here is the code i was using to test the weapon haed points:
<HardPoint Name="HP_Dreadnaught_Weapon_FL">
<Type> HARD_POINT_WEAPON_LASER </Type>
<Is_Targetable>Yes</Is_Targetable>
<Is_Destroyable>Yes</Is_Destroyable>
<Tooltip_Text>TEXT_WEAPON_LASERCANNON</Tooltip_Text>
<Health>350.0</Health>
<Death_Explosion_Particles> Large_Explosion_Space </Death_Explosion_Particles>
<Death_Explosion_SFXEvent>Unit_Hardpoint_Laser_Death</Death_Explosion_SFXEvent>
<Attachment_Bone>HP_F-L_Bone</Attachment_Bone>
<Collision_Mesh>HP_B-L_COLL</Collision_Mesh>
<Damage_Decal>HP_B-L_BLAST</Damage_Decal>
<Damage_Particles>HP_B-L_EMITDAMAGE</Damage_Particles>
<Death_Breakoff_Prop> Hardpoint_Breakoff_AAFrigate_Weapon_BL </Death_Breakoff_Prop>
<Damage_Type> Damage_Assault_Frigate </Damage_Type>
<Fire_Bone_A>FP_B-L_00</Fire_Bone_A>
<Fire_Bone_B>FP_B-L_01</Fire_Bone_B>
<Fire_Cone_Width>360</Fire_Cone_Width>
<Fire_Cone_Height>360</Fire_Cone_Height>
<Fire_Projectile_Type>Proj_Ship_Large_Laser_Cannon_Red</Fire_Projectile_Type>
<Fire_Min_Recharge_Seconds>3.0</Fire_Min_Recharge_Seconds>
<Fire_Max_Recharge_Seconds>4.0</Fire_Max_Recharge_Seconds>
<Fire_Pulse_Count>4</Fire_Pulse_Count>
<Fire_Pulse_Delay_Seconds>0.3</Fire_Pulse_Delay_Seconds>
<Fire_Range_Distance>1400.0</Fire_Range_Distance>
<Fire_SFXEvent>Unit_Rebel_Ship_Laser_Fire</Fire_SFXEvent>
<Fire_Inaccuracy_Distance> Fighter, 15.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Bomber, 15.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Transport, 15.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Corvette, 1.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Frigate, 15.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Capital, 70.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Super, 30.0 </Fire_Inaccuracy_Distance>
</HardPoint>