STEP 1: Work out what you use most
As I levelled up to 60 (and later, 70) I basically just added every ability I got to a new action bar. Eventually I had around 70 icons on the screen, and still needed more for macros, bandages etc. It was a mess.
I recommend getting a pen and paper and writing down all of the abilities you commonly use in pvp, raiding and general questing. Start with the things that need the fastest reaction time. My list is as follows:
Purge
Lesser Healing Wave (Max rank)
Healing Wave (8,10,max) (occasionally 1 and 7 as well)
Chain Heal (Max rank)
Earthshield
Natures Swiftness + Healing Wave macro (popping trinkets if possible).
Warstomp
Earthshock, Frost Shock, Flame Shock (All max rank, also rank 1 ES)
Lightning bolt and chainlightning (Max rank, possibly rank 1 LB as well if I am elemental and need to proc clearcasting when OOM)
Healthstone/Health pot
Mana pot
Bandage
Trinket activation
Mana shield (less important)
Cure poison/ disease. (*) See below.
Mount/Dismount/Ghostwolf (*) See below.
Totems are strange, in that there are some that I need to have quick access to - tremor, earthbind, grounding, poison cleanse and possibly fire nova, and then there are the others such as windfury, strength of earth etc. that I don't mind not being able to drop for a second or two. Additionally, Totemic Call should be in there somewhere.
This is from memory, I have doubtless missed some things.
Once you have your list, I suggest reviewing it a second time. Once you are sure you have the things you most commonly use you are ready to begin.
UPDATE: Some simple macros:
Drinking -
/use Conjoured Glacial Water
/use Purified Draenic Water
/use Star's Tears
Various levels of healthstones (use max rank) -
/use healthstone
STEP 2: Get rid of the clutter
"Make everything as simple as possible, but not simpler." - Albert Einstein
Now that you have your list, I suggest doing the following: Delete every single icon from all your action bars. Now delete all the extra action bars you added. Get everything empty.
This seems slightly drastic, but it's the only real way to get rid of preconceptions about what should go where. Our goal is to create a clean UI with very fast access to the things we need to access quickly. Anything that doesn't need to be in there should go.
At this point, you need to make a descision: stick with the blizzard UI (and be constrained by its limitations, but avoid potential patch-day problems and extra memory usage) or install an addon that lets you customise your action bars.
Addons are a lot more stable these days and updates are typically out very quickly after a patch. A good addon will also try to minimise its memory footprint. My recommendation? Go with a good addon.
I use Bongos:
http://wow-en.curse-gaming.com/downloads/details/2003/ as an action bar replacement.
It takes a small amount of getting used to (perhaps 15 to 20 minutes) but overall, the fact that I can move bars to anywhere, resize them easily and make them autohide when not in use makes this addon very useful to me. My main tip - don't hide the roll bar! You need it to roll on loot! (Don't hide the pet bar either or the chess event in kara is a pain in the ass.)
Anyway, whatever you happen to use, your next task will be to start filling up the action bars with keybindings.
Wait!
Before you begin, work out how you want to do a couple of key tasks - moving and targetting. These two tasks are performed more than anything else in WoW and need to be thought about in order to give us optimal key placement.
Personally, I use the N52's thumpad for movement (one of the major reasons why I bought it). I set the thumbpad to move forward when pushed "away" from me, rather than "up". As for targetting, I used the N52's scroll wheel (different from the mouse wheel) to cycle through next enemy targets (scrolling forward will target the next enemy, pulling back will target previous targets). Again, I have found this easy movement and targetting (using just my thumb and occasionally my index finger) to be phenominally useful, especially in PVP. You pretty much never want to have to click on a target if at all possible as hitting a moving target takes a lot of time.
Whatever you choose, make sure you can select previous enemy as well as next enemy and that all keybindings are very comfortable for you and provide maximal access to surrounding hotkeys. (ESDF is my favourite when I am stuck with a regular keyboard.)
Now we are ready to map hotkeys. I suggest positioning your hand on the keyboard and working out which keys are easiest to push and which are more difficult, but still within reach. The easiest keys should get the most time-critical actions assigned to them - purge, NS+HW macro etc. This is also the time to bind your extra mouse buttons to spells such as grounding totem and rank 1 Earth Shock.
Note: for rank 1 earthshock, I suggest using the following macro:
/stopcasting
/cast Earth Shock (Rank 1)
(from memory - this macro may be wrong, but the gist is, if I need to interrupt something, I need to do it NOW, so I want the /stopcasting in there).
I suggest slowly adding keys one at a time until all of the easy to access keybindings are used. I then suggest adding a second set of bindings to shift+key and perhaps a third set to ctrl+key. The second/ third sets of bindings should be for occasionally used/ less reaction time dependant buttons.
Your goal when adding bindings is speed and comfort - you want to put the most critical bindings within easiest reach, but you also want to be careful not to put very common spells (such as healing wave rank 8) on a shift or ctrl-modified keybinding as you will be pushing it a lot and doing it too often can wind up causing discomfort.
Additionally, it can help the learning process if you try to group similar spells (all the shocks/ damage spells/healing spells) together.
I suggest using the following macros (From murderbot's guide to PVE healing:
http://forums.worldofwarcraft.com/thread.html?topicId=89539090&sid=1&pageNo=1) and binding them appropriately. In my case, I bind the mount/ghostwolf/dismount macro to the big orange N52 button since I typically stop moving when I use it and it's easy to hit with my thumb.
/stopcasting
/use 13
/stopcasting
/use 14
/stopcasting
/cast Nature's Swiftness
/stopcasting
/cast Healing Wave
/cast [Stance:1] Ghost Wolf
/cast [combat,nomounted,outdoors] Nature's Swiftness
/stopcasting
/use [flyable,nomounted] Swift Blue Gryphon
/use [noflyable,nomounted,outdoors] Great Blue Elekk
/cast [combat,nomounted,outdoors] Ghost Wolf
/dismount
The mount macro in particular gets rid of 3-4 buttons on your screen and is excellent in PVP.
Deciding whether or not to hotkey your trinkets is basically up to you. In my case, I ran out of keys and so I placed my trinkets in the center of the screen with a mod to make switching them in and out easier. I use TrinketMenu:
http://wow-en.curse-gaming.com/downloads/details/675/ which is very customisable.
Note that when playing my rogue, I found that hotkeying trinkets was a good idea - "on use" trinkets can give a rogue 1-2% extra dps just by remembering to activate them consistently through a fight. Placing them front and center (see below) helps with this a lot. I would expect similar benefits for an enhancement shaman.
I suggest NOT hotkeying Totemic Recall as YATA (below) can help with this. In fact, delete this icon from your action bar if it's there.
Once they key spells you use are hotkeyed, you need to decide where you want to place the less-used totems and other spells. I strongly suggest using YATA (Yet Another Totem Addon) from
http://wow-en.curse-gaming.com/downloads/details/5222/
YATA allows you to find (using the mouse) seldom-used totems such as stoneclaw or nature resistance without taking up a lot of screen real-estate. It also allows you to set up collections of totems (i.e. one set for the MT group, one for healers, one for when you have a druid MT in a 5-man, etc) Additionally, right-clicking on the YATA bar will perform Totemic Recall, thus saving you another action bar slot.
YATA also includes totem timers (see below) and the latest version includes an earthshield timer (which I have yet to try out)
You may wish to consider creating an action bar for items with a cooldown that you need quick access to - this may or may not be the same action bar as your "consumables" bar. I strongly suggest that you place anything that needs to be clicked in combat (trinkets, potions, bandages, fight-specific macros etc.) almost directly below your character in the center of the screen.
I make my Fire Elemental, Earth Elemental and Bloodlust clickable since they are also in the category of seldom-used but in-combat items. Basically, your goal should be to place anything that needs to be clicked in combat in the center of your screen where it is immediate and obvious, and anything out-of-combat hidden or at the sides.
For example: I have a hidden action bar (that appears on mouseover) for out of combat random things such as tradeskills and water breathing/ walking and recall.
Additionally, enchancement shamans in particular will benefit from a mod to quickly switch between DW and 1h +shield - especially in PVP. Raiding shamans can also benefit from this - simply equip a staff/ 1h with +30 int when beginning a fight, and then switch your weapons to one with +81 healing on it once you have used up the extra mana. This generally gives you around 1.5 extra heals just by having a macro - a nice extra boost. For an enchancement shaman that just got ninja-sapped by a rogue, this can mean the difference between living and dying. I use Weapon Quick Swap (
http://wow-en.curse-gaming.com/downloads/details/66/) for this purpose and I have it bound to a mouse button. The f