I don't understand very well "piling all the bits at the back side of the partition". Do you mean that the free space is now at the beginning side of the partition? This seems quite strange to me. However, JKDefrag uses a specific defrag "strategy", placing the disk content in separate zones in the hard drive: (1) directories and system files, (2) regular files, (3) large files, archives, recycle bin contents, service pack files, and other infrequently accessed data files. Perhaps you have many files in the 3rd category.
Anyway, this schema looks very different from the usual windows defragmentation operation. So, you could try to use the standard windows defrag, and eventually use JKDefrag or other special software after resizing. Please, note that JKDefrag isn't supported anymore, as I found.
ntfsresize, the software tool that GParted uses to perform resizing operations on ntfs partitions, normally doesn't need to have the file system defragmented before running. Nevertheless, it seems that a heavily fragmented or complicated file system tends to cause more problems in the resizing operations. Try to deactivate (or uninstall) any potential software that could place a non-movable file at the end of the partition. This was the case for disk compression software, perhaps any antivirus, real time checkers, ...
Before proceeding to modifications, it is recommended to backup the entire partition (or the entire disk drive) content, with an image backup software or the linux/unix dd command. This manner you could restore the disk content in case of failure.
You wrote that you tried Parted magic. You can try to use the GParted liveCD too.
(Topic moved to the Live Media section)
*** It is highly recommended to backup any important files before doing resize/move operations. ***