It's not at all unusual for devices to contain Ethernet interfaces that won't run at the full line rate. Usually this is handled by using a higher level protocol such as TCP that can use flow control to adapt to the actual bandwidth available.
What throughput do you actually need for your project? If you really need to run at line rate then your whole Ethernet subsystem, not just the MAC, will have to be designed to run at this rate. (This gets interesting at 100Gbps as I'm sure you can imagine... luckily few people need this kind of speed.)
Would more buffering help? Perhaps you can add some logic to read the incoming packets as quickly as possible into a larger buffer which the CPU can access at its leisure. This might not help with your throughput, but could allow you to absorb a larger burst of packets without dropping any.