I may be wrong because I use Synapse for a keypad only and not a mouse but as far as I'm aware the only macros I could create with Syanpse (if I wanted to) are keystrokes based which wouldn't give you an advantage at all in a game like BF because there is no scenario where automating keystrokes would be an advantage.
I checked my Roccat mouse software last night out of curiosity and I couldn't even find a way to create any kind of macros in there so in my limited knowledge about real game enhancing macros tells me you'd have to go out of your way and specifically install certain types of software in order to create recoil macros or whatever because normal generic mouse driver software does not usually allow stuff like that to be created.
I think some certain mice software will allow you to create macros based on mouse movement like assigning a button to do a 180° pivot in game because I've seen people who study mouse sensitivity Vs FOV use them for calculating the perfect mouse sensitivity in game. But I don't think all the mainstream mouse drivers easily allow such things because if they did then everyone would be using them, there would be uproar and FPS gaming would be instantly ruined. You are forced to download proprietary software nowadays with a mouse driver so it's highly unlikely that these companies would include the ability to create recoil and rapid fire macros within that software because they'd be knowingly forcing software on you that could get you banned in many games and that's just not good for business because once that happened people would avoid your hardware and it's related software for fear of being banned.