Partitioning

Start "Disk Utility" in OS X, it can do an online-resize of the OS X partition

in the list on the left select the drive, not the partition

click the "Partition" tab button

drag the lower right corner of the "Macintosh HD" block up to resize, and Apply

Note that there are 2 other partitions which Disk Utility hides from you.
In /dev there are disk0, disk0s1, disk0s2, disk0s3.

disk0s1 is 200 MiB fat32 filesystem related to EFI, not used for much yet, but we'll use it

disk0s2 is "Macintosh HD" which you just resized

disk0s3 is "Recovery HD" for reinstalling OS X, around 1GiB,
seems to move along with the end of the "Macintosh HD" partition

You can make a disk0s4 from linux (which linux calls sda4) and use that for the
linux root filesystem. Boot into the installer for whatever linux distro you're
installing, if it has the "gdisk" tool, or into
SystemRescueCd if not.
Use gdisk to to make a partition for linux in the free space, and tell the
installer to re-use that partition, and format it with your preferred filesystem.

Prepare grub2 EFI

After installing the linux distro but before rebooting, make sure the partition
you installed to is mounted, and chroot into it. That might look like this:

There's a length man-page for bless in OS X. I didn't have the patience to
figure out any more than the above, though.

First Boot

If the linux installer booted up in EFI mode, you should be fine, ignore this section.

If your linux installer booted up in BIOS emulation mode, it may have prepared
an initramfs with kernel modules needed for BIOS emulation mode boot, not EFI
mode. You'll need to somehow get an initramfs with all the modules needed to
boot in EFI mode, and then regenerate the normal initramfs.

I only have specific tips for Arch Linux. Arch Linux has a "fallback" initramfs
and boot option which has all the needed modules, so simply boot that the first
time, then regenerate the normal initramfs with: