OK what i found is the start of the .bin is the ToC (Table of Contents) which tells the game where files in the .bin are, there are basically 2 methods to deal with this.
Method 1 (easy way) - Use a hex editor to manually overwrite the old files with the new ones but the new ones MUST BE SMALLER OR THE SAME SIZE then the old ones (if they are smaller i recommend padding the file to the same size as the original), they can NOT BE BIGGER THEN THE ORIGINAL files, this is the easiest way since you can leave the ToC as is and also makes it easier to reinsert into the game since the opening.bin will be the same size.
Method 2 (hard way) - Completely remake the .bin using what was said above (a file joiner or just pasting each file 1 after another into a hex editor) will get the file structure correct but you will need to manually remake the ToC of the .bin, this is where you might find it hard (i will post info on the ToC below). Although this method is harder it will allow you to have files bigger then the original.
And here is information on the opening.bin (taken from the PAL version of the game but from what i understand it is the same on the NTSC-U version, I'm unsure about the NTSC-J version)
OPENING.BIN is a archive of LZS and uncompressed files, when extracted from unbinlz files 0-7, 17, 18, and 21 are lzs compressed and the rest are uncompressed files
If you open OPENING.BIN in a hex editor the first 92 bytes or 0x5c of the file are the ToC of the BIN, to read the table of contents you read it 4 bytes at a time and in Reverse.
So for example if you look at the start of OPENING.BIN the first 4 bytes say 5C 00 00 00 what this means is the first file in the BIN is actually at 0000005C
To save time i already wrote down where each file started so this should make things faster (it lists which file is which in the ToC and where the file is in the OPENING.BIN)
OPENING_00
5C000000
0000005C
OPENING_01
301D0000
00001D30
OPENING_02
683F0000
00003F68
OPENING_03
2C650000
0000652C
OPENING_04
E0870000
000087E0
OPENING_05
E8A60000
0000A6E8
OPENING_06
B8C80000
0000C8B8
OPENING_07
C4E40000
0000E4C4
OPENING_08
90FF0000
0000FF90
OPENING_09
74000100
00010074
OPENING_10
58010100
00010158
OPENING_11
3C020100
0001023C
OPENING_12
20030100
00010320
OPENING_13
04040100
00010404
OPENING_14
E8040100
000104E8
OPENING_15
B0050100
000105B0
OPENING_16
94060100
00010694
OPENING_17
541B0100
00011B54
OPENING_18
9CC50100
0001C59C
OPENING_19
18FC0100
0001FC18
OPENING_20
38FC0100
0001FC38
OPENING_21
58FC0100
0001FC58
OPENING_22
E8460200
000246E8
Anyway all this information should be more then enough to fully edit the OPENING.BIN, i hope this helps and please let me know how you get on (also the file joiner i used when testing was called "FFSJ" but it requires you to rename the files first, but i am sure there are lots of binary file joiners out there where you wouldn't need to rename files first)