Gen 3 save files are split into a current save and a backup save (0 - 0xDFFF and 0xE000 - 0x1BFFF), which is which changes everytime you save your game. These saves are each split again into 14 blocks with 4096 (0x1000) bytes each, these blocks are not static, there offsets change. Each time you save, all the blocks get moved up by 1.
To find the correct offset now we first need to find out where our current save is. Therefore we are going to check the save counters. I compare the value at 0xFFC - 0xFFF with the one at 0xEFFC - 0xEFFF. The second one is higher in my case so the current save is between 0xE000 and 0x1BFFF.
Next we have to find the block with ID 0. This Block ID is at 0xFF4 in each block, so I would check 0xEFF4, 0xFFF4 ... 0x1BFF4 until I find ID 0. In my case I found ID 0 at 0x17FF4, so I know block 0 is a 0x17000 - 0x17FFF which means the final offset for the battle tower stats would be 0x17572 and 0x17570.