Bad blocks and Link2SD
You could try to "repair" the bad blocks and see if that works. Below is the Windows and Linux methods for doing it. Repairing won't fix damaged parts of the card but flag them to ignore.

Windows:


Plug your device into a Windows PC.
Start&gt;Programs&gt;Accessories-&gt;Command Prompt
If on Vista or newer, right-click and choose to runs as Administrator. If on XP, just run it.
Find the drive letter for the device. Let's say it's "G:" drive.
Enter chkdsk G: /r 


Linux

Open a terminal (Applications-Accessories-Terminal) and give the command

sudo fsck -a /dev/sdd1 

(Replace /dev/sdd1 with the actual partition device for the micro sd card) (fsck = File Systen ChecKer.)



Failing that you will probably need a new SD card. If it's the 'usual' FAT32 corrupting (which it does a bit) then you may be ok, but if any of it is damaged then it will need to be replaced.