[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] loserskater:
Alright, here is an actual fix for the center clock. This will fix the center clock moving when bluetooth, alarm, or "right side" icons show up and fix only two or three notification icons showing up.

This is all in SystemUI.apk, so decompile that and let's get started.

Navigate to /res/layout/tw_status_bar.xml

Modify the sections in red

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:id="@id/status_bar" android:background="@drawable/status_bar_background" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<ImageView android:id="@id/notification_lights_out" android:paddingLeft="6.0dip" android:paddingBottom="2.0dip" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" />
[COLOR="red"]<RelativeLayout android:id="@id/icons" android:paddingLeft="0.0dip" android:paddingRight="2.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.ClockLeft android:textSize="@dimen/status_bar_clock_text_size" android:textColor="#ff9a9a9a" android:ellipsize="none" android:gravity="left|center" android:id="@id/left_clock" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:singleLine="true" android:includeFontPadding="false" />[/COLOR]
[COLOR="red"]<LinearLayout android:orientation="horizontal" android:id="@id/left_icons" android:paddingLeft="4.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_toRightOf="@id/left_clock" android:layout_toLeftOf="@id/center_clock" android:layout_alignWithParentIfMissing="true">[/COLOR]
<TextView android:textSize="0.0dip" android:gravity="center_vertical" android:id="@id/carrierLabel" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<ImageView android:id="@id/operatorLogoIcon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/tw_stat_notify_operator_logo" />
<ImageView android:id="@id/doNotDisturbIcon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_dnd" android:alpha="0.7" android:scaleX="0.85" android:scaleY="0.85" />
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
</LinearLayout>
[COLOR="red"]<com.android.systemui.statusbar.policy.ClockCenter android:textSize="@dimen/status_bar_clock_text_size" android:textColor="#ff9a9a9a" android:ellipsize="none" android:layout_centerInParent="true" android:id="@id/center_clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />[/COLOR]
<LinearLayout android:orientation="horizontal" android:id="@id/right_icons" android:paddingRight="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/tw_signal_cluster_view" />
<include android:id="@id/battery_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/battery_cluster_view" />
<TextView android:textSize="18.0dip" android:textColor="#ff9a9a9a" android:layout_gravity="center" android:id="@id/battery_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_network_name_separator" />
<ImageView android:gravity="center" android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<com.android.systemui.statusbar.policy.Clock android:textSize="@dimen/status_bar_clock_text_size" android:textColor="#ff9a9a9a" android:ellipsize="none" android:gravity="left|center" android:id="@id/clock" android:paddingLeft="3.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:includeFontPadding="false" />
</LinearLayout>
</RelativeLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="centerInside" />
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="centerInside" />
</ImageSwitcher>
<com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:id="@id/ticker_text_view_old" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:id="@id/ticker_text_view_new" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
</com.android.systemui.statusbar.phone.PhoneStatusBarView>

Navigate to /smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali

Now search for

mIcons:Landroid/widget/LinearLayout;

and replace every instance with

mIcons:Landroid/widget/RelativeLayout;

Navigate to /smali/com/android/systemui/statusbar/phone/PhoneStatusBar$MyTicker.smali

Now search for

mIcons:Landroid/widget/LinearLayout;

and replace every instance with

mIcons:Landroid/widget/RelativeLayout;

method makeStatusBarView

iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationIcons:Lcom/android/systemui/statusbar/phone/IconMerger;

iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mMoreIcon:Landroid/view/View;

invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/IconMerger;->setOverflowIndicator(Landroid/view/View;)V

.line 621
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

const v10, 0x7f0d0035

invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->findViewById(I)Landroid/view/View;

move-result-object v9

[COLOR="red"]check-cast v9, Landroid/widget/RelativeLayout;[/COLOR]

iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mIcons:Landroid/widget/RelativeLayout;

.line 622
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

const v10, 0x7f0d003e

invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->findViewById(I)Landroid/view/View;

move-result-object v9

Navigate to /smali/com/android/systemui/statusbar/phone/PhoneStatusBarView.smali

Search for

leftIconsControl:Landroid/widget/LinearLayout$LayoutParams;

and replace every instance with

leftIconsControl:Landroid/widget/RelativeLayout$LayoutParams;

Do the same thing and replace

rightIconsControl:Landroid/widget/LinearLayout$LayoutParams;

with

rightIconsControl:Landroid/widget/RelativeLayout$LayoutParams;

method onFinishInflate

const v0, 0x7f0d00de

invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->findViewById(I)Landroid/view/View;

move-result-object v0

check-cast v0, Landroid/view/ViewGroup;

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->mRightIcons:Landroid/view/ViewGroup;

.line 92
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->mLeftIcons:Landroid/view/ViewGroup;

invoke-virtual {v0}, Landroid/view/ViewGroup;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

move-result-object v0

[COLOR="red"]check-cast v0, Landroid/widget/RelativeLayout$LayoutParams;[/COLOR]

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->leftIconsControl:Landroid/widget/RelativeLayout$LayoutParams;

.line 93
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->mRightIcons:Landroid/view/ViewGroup;

invoke-virtual {v0}, Landroid/view/ViewGroup;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

move-result-object v0

[COLOR="red"]check-cast v0, Landroid/widget/RelativeLayout$LayoutParams;[/COLOR]

iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->rightIconsControl:Landroid/widget/RelativeLayout$LayoutParams;

.line 94
return-void
.end method

Now here you have an option. You can either have the center clock be gone or invisible. Here's what each one does.

Gone means that it basically removes the center clock entirely. The problem with this is that the left icons (your notifications) rely on the center clock being there, and when it's not they could potentially overlap your right icons (battery, signal, etc.) I haven't tested that so I'm not 100% positive it will but the way things look on paper, or in code, that's what should happen.

Invisible will keep the center clock there but you won't be able to see it, what this means is that if you use left or right clock, the notifications will only show until it reaches where the center clock should be. The problem with this is that if you use left clock, you won't be able to show many notification icons because you're technically using both center and left, you just can't see the center clock. However, this will keep the notifications from potentially overlapping the right icons.

There's going to be complaints about either one you choose. "I only get like 4 notification icons when using left clock." Or "My notifications go all the way across and it makes it difficult to see the signal bars."

My suggestions: use invisible center clock. It's the option to reduce the number of issues with users.

So on that note, if you want to use Gone, there's nothing more you need to do, if you want to change it to invisible, there's only a couple more steps.

Navigate to /smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali

method showClock

replace the entire method with this

.method public showClock(Z)V
.locals 13
.parameter

.prologue
const/16 v3, 0x8

const/4 v2, 0x0

const/4 v11, 0x0

const/4 v12, 0x4

const/4 v1, 0x1

.line 1151
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

if-nez v0, :cond_1

.line 1162
:cond_0
:goto_0
return-void

.line 1152
:cond_1
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

const v4, 0x7f0d003d

invoke-virtual {v0, v4}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->findViewById(I)Landroid/view/View;

move-result-object v4

.line 1153
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

const v5, 0x7f0d0120

invoke-virtual {v0, v5}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->findViewById(I)Landroid/view/View;

move-result-object v5

iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

const v6, 0x7f0d0129

invoke-virtual {v0, v6}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->findViewById(I)Landroid/view/View;

move-result-object v6

.line 1154
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v0

const-string v7, "clock_style"

invoke-static {v0, v7, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v0

if-ne v0, v1, :cond_4

move v0, v1

.line 1155
:goto_1
iget-object v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

invoke-virtual {v7}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v7

const-string v8, "clock_style"

invoke-static {v7, v8, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v7

const/4 v8, 0x2

if-ne v7, v8, :cond_5

.line 1156
:goto_2
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

invoke-virtual {v9}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v9

const-string v10, "clock_style"

invoke-static {v9, v10, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v9

const/4 v10, 0x3

if-ne v9, v10, :cond_6

:goto_3
if-eqz v0, :cond_2

if-eqz v4, :cond_2

.line 1157
if-eqz p1, :cond_7

move v0, v2

:goto_4
invoke-virtual {v4, v0}, Landroid/view/View;->setVisibility(I)V

.line 1159
:cond_2
if-eqz v1, :cond_3

if-eqz v5, :cond_3

.line 1160
if-eqz p1, :cond_8

:goto_5
invoke-virtual {v5, v2}, Landroid/view/View;->setVisibility(I)V

:cond_3
if-eqz v1, :cond_0

if-eqz v6, :cond_0

.line 1160
if-eqz p1, :cond_9

invoke-virtual {v6, v11}, Landroid/view/View;->setVisibility(I)V

goto :goto_0

:cond_4
move v0, v2

.line 1154
goto :goto_1

:cond_5
move v1, v2

.line 1155
goto :goto_2

:cond_6
move v11, v2

goto :goto_3

:cond_7
move v0, v3

.line 1157
goto :goto_4

:cond_8
move v2, v12

.line 1160
goto :goto_5

:cond_9
move v11, v3

goto :goto_5
.end method

Navigate to /smali/com/android/systemui/statusbar/policy/CenterClock.smali

method updateClockVisibility

.method protected updateClockVisibility()V
.locals 2

.prologue
.line 45
iget v0, p0, Lcom/android/systemui/statusbar/policy/ClockCenter;->mClockStyle:I

const/4 v1, 0x2

if-ne v0, v1, :cond_0

.line 46
const/4 v0, 0x0

invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/policy/ClockCenter;->setVisibility(I)V

.line 49
:goto_0
return-void

.line 48
:cond_0
[COLOR="red"]const/16 v0, 0x4[/COLOR]

invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/policy/ClockCenter;->setVisibility(I)V

goto :goto_0
.end method

Now compile and test!