I have addressed similar issues by using named ranges. For instance, if you name A3:A736 as RANGE1, then any rows inserted will be part of the range. So if someone adds 3 rows at row 4, RANGE1 will now refer to A3:A739. Just reference the range name in your macro instread of the absolute address.

Note that is someone tries to append a row (say row 737) to the range, this will not be part of the named range, because row 737 is not part of RANGE1.

Hope that helps.