Can I use custom fields inside custom fields in Drupal 7? I am making a custom field and would like to use other custom fields -- like the Link or Media fields -- inside it. Can I do this, and if so how do I determine what #type to include in my field definition?

For example, the pattern "Image + Linked Headline + Brief Description" happens frequently enough in my content that I am trying to create a custom field that combines these. But a lot of what I need already exists in both Link and Media plugins, and I'd rather not recreate that functionality if possible.

I have already tried using the Field Collection module for this, but can't because it does not support translation. 

Edited

I think I have found my way around the Field Collection translation problem by switching to field translation instead of node translation. Field collection seems to be a little buggy there, especially for collections made prior to turning on entity translation, but so far it seems to be working.

A yes/no answer to this would still be interesting, though, for future custom-field development. The more I think about it, the more I think the answer is likely "no."
Please let me know if I'm misinterpreting your question — essentially, you're asking how to group up fields of content that appear frequently together on your Drupal site? Without using Field Collection... hmmm...

Well, first potential option is the Field Group module. However, it may not be exactly what you want seeing as how you mentioned Field Collection. It may be worth looking into though. Not sure it supports translation though.

The next potential option I see is changing the actual Image entity through the File Type interface provided by the Media module. At this screen, you can actually adjust the Image entity to contain extra fields. In doing this, all you would need then is place the Image field in your content type. The user uploading an image via this Media field would then be prompted to add the linked headline and a brief description after uploading the image.

Because the Media module documentation does an AWESOME job of explaining how to modify an Image entity, here is the documentation page about managing/editing file types — scroll down to the start of the section "Manage the Display of Images (Manage File Types)". After adding these fields to your Image entity (or a new entity), you'll be able to manage the display like you would for a content type.