then only way I found is to acknowledge each other with pins going high and low, that a pocket of 63 was send and received.
You could try providing a better description of what is going on so we don't have to guess.
It seems to me you want to send 500 somethings (bytes, chars, ints?) to the Arduino. And I think you are trying some sort of hand-shaking system involving setting an I/O pin to signal when the Arduino is capable of receiving another chunk of data. But that is a form of synchronization and you say that synchronization is not possible.
Can you change the program that is sending the data?
If the problem is due to overflowing the Arduino's 64 byte Serial Input Buffer then why not send the data in 32 byte chunks?
Another option would be to increase the size of the Input Buffer. With a Mega you would have enough SRAM to increase it to 512 bytes. I am working on a project where I needed a larger buffer so I just made a copy of the complete IDE under another name and in that copy I increased the buffer size. That way I can easily use either the standard buffer size with the original IDE or the larger buffer with the modified version.
If none of that is useful then post your program.